summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty')
-rw-r--r--3rdParty/Boost/src/boost/range/adaptor/reversed.hpp103
-rwxr-xr-x3rdParty/Boost/update.sh4
2 files changed, 104 insertions, 3 deletions
diff --git a/3rdParty/Boost/src/boost/range/adaptor/reversed.hpp b/3rdParty/Boost/src/boost/range/adaptor/reversed.hpp
new file mode 100644
index 0000000..944fbff
--- /dev/null
+++ b/3rdParty/Boost/src/boost/range/adaptor/reversed.hpp
@@ -0,0 +1,103 @@
+// Boost.Range library
+//
+// Copyright Thorsten Ottosen, Neil Groves 2006 - 2008. Use, modification and
+// distribution is subject to the Boost Software License, Version
+// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+
+#ifndef BOOST_RANGE_ADAPTOR_REVERSED_HPP
+#define BOOST_RANGE_ADAPTOR_REVERSED_HPP
+
+#include <boost/range/iterator_range.hpp>
+#include <boost/range/concepts.hpp>
+#include <boost/iterator/reverse_iterator.hpp>
+
+namespace boost
+{
+ namespace range_detail
+ {
+ template< class R >
+ struct reversed_range :
+ public boost::iterator_range<
+ boost::reverse_iterator<
+ BOOST_DEDUCED_TYPENAME range_iterator<R>::type
+ >
+ >
+ {
+ private:
+ typedef boost::iterator_range<
+ boost::reverse_iterator<
+ BOOST_DEDUCED_TYPENAME range_iterator<R>::type
+ >
+ >
+ base;
+
+ public:
+ typedef boost::reverse_iterator<BOOST_DEDUCED_TYPENAME range_iterator<R>::type> iterator;
+
+ explicit reversed_range( R& r )
+ : base( iterator(boost::end(r)), iterator(boost::begin(r)) )
+ { }
+ };
+
+ struct reverse_forwarder {};
+
+ template< class BidirectionalRange >
+ inline reversed_range<BidirectionalRange>
+ operator|( BidirectionalRange& r, reverse_forwarder )
+ {
+ BOOST_RANGE_CONCEPT_ASSERT((
+ BidirectionalRangeConcept<BidirectionalRange>));
+
+ return reversed_range<BidirectionalRange>( r );
+ }
+
+ template< class BidirectionalRange >
+ inline reversed_range<const BidirectionalRange>
+ operator|( const BidirectionalRange& r, reverse_forwarder )
+ {
+ BOOST_RANGE_CONCEPT_ASSERT((
+ BidirectionalRangeConcept<const BidirectionalRange>));
+
+ return reversed_range<const BidirectionalRange>( r );
+ }
+
+ } // 'range_detail'
+
+ using range_detail::reversed_range;
+
+ namespace adaptors
+ {
+ namespace
+ {
+ const range_detail::reverse_forwarder reversed =
+ range_detail::reverse_forwarder();
+ }
+
+ template<class BidirectionalRange>
+ inline reversed_range<BidirectionalRange>
+ reverse(BidirectionalRange& rng)
+ {
+ BOOST_RANGE_CONCEPT_ASSERT((
+ BidirectionalRangeConcept<BidirectionalRange>));
+
+ return reversed_range<BidirectionalRange>(rng);
+ }
+
+ template<class BidirectionalRange>
+ inline reversed_range<const BidirectionalRange>
+ reverse(const BidirectionalRange& rng)
+ {
+ BOOST_RANGE_CONCEPT_ASSERT((
+ BidirectionalRangeConcept<const BidirectionalRange>));
+
+ return reversed_range<const BidirectionalRange>(rng);
+ }
+ } // 'adaptors'
+
+} // 'boost'
+
+#endif
diff --git a/3rdParty/Boost/update.sh b/3rdParty/Boost/update.sh
index 44114ed..afa7722 100755
--- a/3rdParty/Boost/update.sh
+++ b/3rdParty/Boost/update.sh
@@ -1,86 +1,84 @@
#!/usr/bin/env bash
set -e
if [ -z "$1" ]; then
echo "Please specify the location of the boost source tree"
exit -1
fi
TARGET_DIR=src
if [ ! -d "$TARGET_DIR" ]; then
mkdir $TARGET_DIR
fi
./bcp --boost="$1" \
tools/bcp \
algorithm/string.hpp \
archive/text_iarchive.hpp \
archive/text_oarchive.hpp \
asio.hpp \
assign/list_of.hpp \
bind.hpp \
cast.hpp \
date_time/posix_time/posix_time.hpp \
date_time/posix_time/time_serialize.hpp \
date_time/local_time/local_time.hpp \
date_time/c_local_time_adjustor.hpp \
date_time/gregorian/gregorian_types.hpp \
- foreach.hpp \
filesystem.hpp \
filesystem/fstream.hpp \
format.hpp \
lambda/lambda.hpp \
lambda/bind.hpp \
logic/tribool.hpp \
noncopyable.hpp \
numeric/conversion/cast.hpp \
optional.hpp \
program_options.hpp \
random/mersenne_twister.hpp \
random/variate_generator.hpp \
random/uniform_int.hpp \
regex.hpp \
scope_exit.hpp \
- shared_ptr.hpp \
- smart_ptr/make_shared.hpp \
serialization/serialization.hpp \
serialization/vector.hpp \
serialization/list.hpp \
serialization/map.hpp \
serialization/shared_ptr.hpp \
serialization/string.hpp \
serialization/set.hpp \
serialization/version.hpp \
serialization/split_member.hpp \
serialization/optional.hpp \
signals2.hpp \
thread.hpp \
unordered_map.hpp \
uuid/uuid.hpp \
uuid/uuid_io.hpp \
uuid/uuid_generators.hpp \
variant.hpp \
spirit/include/lex_lexertl.hpp \
typeof/incr_registration_group.hpp \
atomic \
system/src/error_code.cpp \
phoenix/support/detail/iterate.hpp \
type_traits.hpp \
+ range/adaptor/reversed.hpp \
$TARGET_DIR
cp $1/LICENSE_1_0.txt $TARGET_DIR
rm -rf $TARGET_DIR/libs/config
rm -rf $TARGET_DIR/libs/smart_ptr
LIBS="date_time regex system thread signals2 filesystem program_options serialization archive atomic"
for lib in $LIBS; do
rm -rf $TARGET_DIR/libs/$lib/build $TARGET_DIR/libs/$lib/*.doc $TARGET_DIR/libs/$lib/src/*.doc $TARGET_DIR/libs/$lib/src/CMakeLists.txt $TARGET_DIR/libs/$lib/test
done
rm -rf $TARGET_DIR/tools/bcp/*.html $TARGET_DIR/libs/test $TARGET_DIR/doc $TARGET_DIR/boost.png $TARGET_DIR/boost/test $TARGET_DIR/tools/bcp/Jamfile.v2 $TARGET_DIR/tools/bcp/doc $TARGET_DIR/tools/bcp/test $TARGET_DIR/Jamroot
mv $TARGET_DIR/libs/filesystem/src/utf8_codecvt_facet.cpp $TARGET_DIR/libs/filesystem/src/filesystem_utf8_codecvt_facet.cpp
mv $TARGET_DIR/libs/program_options/src/utf8_codecvt_facet.cpp $TARGET_DIR/libs/program_options/src/program_options_utf8_codecvt_facet.cpp
for diff in *.diff; do
patch -p3 < $diff
done