Compare commits

...

10 Commits

Author SHA1 Message Date
Antony Polukhin
5136d09e0a Merge branch 'master' into develop 2014-10-14 13:54:40 +04:00
Antony Polukhin
8a35c1deb0 Merge pull request #4 from danieljames/metadata
Create metadata file.
2014-08-18 19:55:51 +04:00
Daniel James
a54ccf9962 Add metadata file. 2014-08-18 14:57:42 +01:00
Antony Polukhin
d48b479c6a Use move_if_noexcept from Boost.Move 2014-08-18 12:08:23 +04:00
Glen Fernandes
8ba2c24454 Merge pull request #2 from jzmaddock/patch-1
Update jamfile.v2
2014-08-14 12:28:36 -07:00
Glen Fernandes
05a6e6e0d5 Merge pull request #3 from jzmaddock/patch-2
Update jamfile.v2
2014-08-14 12:26:40 -07:00
jzmaddock
483a1bdc2d Update jamfile.v2
Fix image location for PDF builds.
Use SVG for admon graphics (default path works OK for these).
Change name of pdf install target as current Boost.Build chokes over targets with hyphens in them.
2014-08-14 17:33:00 +01:00
jzmaddock
cfdf5c063b Update jamfile.v2
Fix image location for PDF builds.
Use SVG for admon graphics (default path works OK for these).
Change name of pdf install target as current Boost.Build chokes over targets with hyphens in them.
2014-08-14 17:31:43 +01:00
Antony Polukhin
f02cbb939c Finished sync of develop and master branches 2014-08-12 20:50:49 +04:00
Antony Polukhin
d18e2283a4 Merge branch 'master' into develop 2014-08-12 20:47:16 +04:00
5 changed files with 34 additions and 38 deletions

View File

@@ -11,7 +11,7 @@
path-constant nav_images : html/images/ ; # png and svg images for home, next, note, tip...
path-constant images_location : html/images ; # location of my SVG and PNG images referenced by Quickbook.
path-constant pdf_images_location : html ; # location of SVG and PNG images referenced by pdf.
path-constant pdf_images_location : .. ; # location of SVG and PNG images referenced by pdf.
path-constant here : . ; # location of /doc folder.
# echo "nav_images = " $(nav_images) ; # "nav_images = I:\boost-trunk\libs\circular_buffer\doc\html\images
@@ -181,14 +181,15 @@ boostbook standalone
# Set these one for PDF generation *only*:
# default png graphics are awful in PDF form,
# better use SVG instead:
#<format>pdf:<xsl:param>admon.graphics.extension=".svg"
<format>pdf:<xsl:param>admon.graphics.extension=".png" # Only png images are available.
<format>pdf:<xsl:param>admon.graphics.path=$(nav_images)/ # next, prev, note, tip ... for pdf.
<format>pdf:<xsl:param>admon.graphics.extension=".svg"
#<format>pdf:<xsl:param>admon.graphics.extension=".png" # Only png images are available.
# Don't need this, default path works OK:
#<format>pdf:<xsl:param>admon.graphics.path=$(nav_images)/ # next, prev, note, tip ... for pdf.
<format>pdf:<xsl:param>use.role.for.mediaobject=1
<format>pdf:<xsl:param>preferred.mediaobject.role=print
<format>pdf:<xsl:param>img.src.path=$(pdf_images_location)/ # graphics (diagrams) for pdf.
<format>pdf:<xsl:param>img.src.path=$(pdf_images_location)/ # graphics (diagrams) for pdf.
<format>pdf:<xsl:param>draft.mode="no"
<format>pdf:<xsl:param>boost.url.prefix=../../../..
<format>pdf:<xsl:param>boost.url.prefix=../../../..
<dependency>autodoc #
<dependency>png_install
@@ -205,7 +206,7 @@ install png_install : [ glob $(here)/*.png ] : <location>$(here)/../../../doc/ht
# because a modified pdf file is created, so this command
# will rename the file to the expected filename, here circular_buffer.pdf.
install pdf-install : standalone : <install-type>PDF <location>. <name>circular_buffer.pdf ;
install pdfinstall : standalone : <install-type>PDF <location>. <name>circular_buffer.pdf ;

View File

@@ -175,23 +175,6 @@ public:
typedef BOOST_RV_REF(value_type) rvalue_type;
private:
// TODO: move to Boost.Move
/*! \cond */
template <class ValT>
static inline typename boost::conditional<
((boost::is_nothrow_move_constructible<ValT>::value && boost::is_nothrow_move_assignable<ValT>::value) || !boost::is_copy_constructible<ValT>::value)
#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
&& has_move_emulation_enabled<ValT>::value
#endif
,
rvalue_type,
param_value_type
>::type move_if_noexcept(ValT& value) BOOST_NOEXCEPT {
return boost::move(value);
}
/*! \endcond */
// Member variables
//! The internal buffer used for storing elements in the circular buffer.
@@ -682,11 +665,11 @@ public:
break;
}
if (is_uninitialized(dest)) {
boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::addressof(*dest), this_type::move_if_noexcept(*src));
boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::addressof(*dest), boost::move_if_noexcept(*src));
++constructed;
} else {
value_type tmp = this_type::move_if_noexcept(*src);
replace(src, this_type::move_if_noexcept(*dest));
value_type tmp = boost::move_if_noexcept(*src);
replace(src, boost::move_if_noexcept(*dest));
replace(dest, boost::move(tmp));
}
}
@@ -761,12 +744,12 @@ public:
difference_type n = new_begin - begin();
if (m < n) {
for (; m > 0; --m) {
push_front(this_type::move_if_noexcept(back()));
push_front(boost::move_if_noexcept(back()));
pop_back();
}
} else {
for (; n > 0; --n) {
push_back(this_type::move_if_noexcept(front()));
push_back(boost::move_if_noexcept(front()));
pop_front();
}
}
@@ -1878,7 +1861,7 @@ private:
bool construct = !full();
BOOST_TRY {
while (src != pos.m_it) {
construct_or_replace(construct, dest, this_type::move_if_noexcept(*src));
construct_or_replace(construct, dest, boost::move_if_noexcept(*src));
increment(src);
increment(dest);
construct = false;
@@ -2125,7 +2108,7 @@ public:
pointer next = pos.m_it;
increment(next);
for (pointer p = pos.m_it; next != m_last; p = next, increment(next))
replace(p, this_type::move_if_noexcept(*next));
replace(p, boost::move_if_noexcept(*next));
decrement(m_last);
destroy_item(m_last);
--m_size;
@@ -2164,7 +2147,7 @@ public:
return first;
pointer p = first.m_it;
while (last.m_it != 0)
replace((first++).m_it, this_type::move_if_noexcept(*last++));
replace((first++).m_it, boost::move_if_noexcept(*last++));
do {
decrement(m_last);
destroy_item(m_last);
@@ -2202,7 +2185,7 @@ public:
pointer prev = pos.m_it;
pointer p = prev;
for (decrement(prev); p != m_first; p = prev, decrement(prev))
replace(p, this_type::move_if_noexcept(*prev));
replace(p, boost::move_if_noexcept(*prev));
destroy_item(m_first);
increment(m_first);
--m_size;
@@ -2247,7 +2230,7 @@ public:
while (first.m_it != m_first) {
decrement(first.m_it);
decrement(p);
replace(p, this_type::move_if_noexcept(*first.m_it));
replace(p, boost::move_if_noexcept(*first.m_it));
}
do {
destroy_item(m_first);
@@ -2771,7 +2754,7 @@ private:
BOOST_TRY {
while (src != p) {
decrement(src);
construct_or_replace(construct, dest, this_type::move_if_noexcept(*src));
construct_or_replace(construct, dest, boost::move_if_noexcept(*src));
decrement(dest);
construct = false;
}

View File

@@ -11,7 +11,7 @@
#if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP)
#define BOOST_CIRCULAR_BUFFER_FWD_HPP
#if defined(_MSC_VER) && _MSC_VER >= 1200
#if defined(_MSC_VER)
#pragma once
#endif

14
meta/libraries.json Normal file
View File

@@ -0,0 +1,14 @@
{
"key": "circular_buffer",
"name": "Circular Buffer",
"authors": [
"Jan Gaspar"
],
"description": "A STL compliant container also known as ring or cyclic buffer.",
"category": [
"Containers"
],
"maintainers": [
"Jan Gaspar <jano_gaspar -at- yahoo.com>"
]
}

View File

@@ -2113,7 +2113,6 @@ void move_container_on_cpp11() {
struct noncopyable_movable_except_t
: private boost::noncopyable // required, until there will be no support for is_copy_constructible added to Boost.Move
{
private:
BOOST_MOVABLE_BUT_NOT_COPYABLE(noncopyable_movable_except_t)
@@ -2152,7 +2151,6 @@ public:
};
struct noncopyable_movable_noexcept_t
: private boost::noncopyable // required, until there will be no support for is_copy_constructible added to Boost.Move
{
private:
BOOST_MOVABLE_BUT_NOT_COPYABLE(noncopyable_movable_noexcept_t)