summaryrefslogtreecommitdiff
path: root/src/third_party/boost-1.56.0/boost/test/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/test/utils')
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/algorithm.hpp228
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/assign_op.hpp41
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring.hpp731
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp40
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/bcs_char_traits.hpp150
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/compare.hpp115
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/io.hpp73
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/callback.hpp310
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/class_properties.hpp221
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/custom_manip.hpp63
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/fixed_mapping.hpp124
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/foreach.hpp281
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/iterator/input_iterator_facade.hpp109
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/iterator/token_iterator.hpp418
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/lazy_ostream.hpp114
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/named_params.hpp329
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/rtti.hpp64
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/argument.hpp112
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argument_factory.hpp218
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.hpp98
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.ipp209
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/basic_parameter.hpp85
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.hpp98
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.ipp57
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp82
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.hpp96
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.ipp90
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/fwd.hpp55
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.hpp145
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.ipp118
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/argument_factory.hpp51
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/id_policy.hpp73
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/modifier.hpp69
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.hpp93
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.ipp129
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parameter.hpp150
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.hpp153
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.ipp258
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/typed_parameter.hpp70
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.hpp55
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.ipp65
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_generator.hpp81
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_handler.hpp57
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/config.hpp156
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.hpp172
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.ipp125
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/env/fwd.hpp54
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/env/modifier.hpp47
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/env/variable.hpp223
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/fwd.hpp41
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/interpret_argument_value.hpp163
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/parameter.hpp38
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/trace.hpp30
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/runtime/validation.hpp82
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/trivial_singleton.hpp74
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/wrap_stringstream.hpp164
-rw-r--r--src/third_party/boost-1.56.0/boost/test/utils/xml_printer.hpp118
57 files changed, 0 insertions, 7665 deletions
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/algorithm.hpp b/src/third_party/boost-1.56.0/boost/test/utils/algorithm.hpp
deleted file mode 100644
index 1ad389dbafa..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/algorithm.hpp
+++ /dev/null
@@ -1,228 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : addition to STL algorithms
-// ***************************************************************************
-
-#ifndef BOOST_ALGORITHM_HPP_062304GER
-#define BOOST_ALGORITHM_HPP_062304GER
-
-#include <utility>
-#include <algorithm> // std::find
-#include <functional> // std::bind1st
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-/// @brief this algorithm search through two collections for first mismatch position that get returned as a pair
-/// of iterators, first pointing to the mismatch position in first collection, second iterator in second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template <class InputIter1, class InputIter2>
-inline std::pair<InputIter1, InputIter2>
-mismatch( InputIter1 first1, InputIter1 last1,
- InputIter2 first2, InputIter2 last2 )
-{
- while( first1 != last1 && first2 != last2 && *first1 == *first2 ) {
- ++first1;
- ++first2;
- }
-
- return std::pair<InputIter1, InputIter2>(first1, first2);
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through two collections for first mismatch position that get returned as a pair
-/// of iterators, first pointing to the mismatch position in first collection, second iterator in second one. This algorithms
-/// uses supplied predicate for collection elements comparison
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template <class InputIter1, class InputIter2, class Predicate>
-inline std::pair<InputIter1, InputIter2>
-mismatch( InputIter1 first1, InputIter1 last1,
- InputIter2 first2, InputIter2 last2,
- Predicate pred )
-{
- while( first1 != last1 && first2 != last2 && pred( *first1, *first2 ) ) {
- ++first1;
- ++first2;
- }
-
- return std::pair<InputIter1, InputIter2>(first1, first2);
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for first element that does not belong a second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template<class ForwardIterator1, class ForwardIterator2>
-inline ForwardIterator1
-find_first_not_of( ForwardIterator1 first1, ForwardIterator1 last1,
- ForwardIterator2 first2, ForwardIterator2 last2 )
-{
- while( first1 != last1 ) {
- if( std::find( first2, last2, *first1 ) == last2 )
- break;
- ++first1;
- }
-
- return first1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for first element that does not satisfy binary
-/// predicate in conjunction will any element in second collection
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template<class ForwardIterator1, class ForwardIterator2, class Predicate>
-inline ForwardIterator1
-find_first_not_of( ForwardIterator1 first1, ForwardIterator1 last1,
- ForwardIterator2 first2, ForwardIterator2 last2,
- Predicate pred )
-{
- while( first1 != last1 ) {
- if( std::find_if( first2, last2, std::bind1st( pred, *first1 ) ) == last2 )
- break;
- ++first1;
- }
-
- return first1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that belongs to a second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template<class BidirectionalIterator1, class ForwardIterator2>
-inline BidirectionalIterator1
-find_last_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1,
- ForwardIterator2 first2, ForwardIterator2 last2 )
-{
- if( first1 == last1 || first2 == last2 )
- return last1;
-
- BidirectionalIterator1 it1 = last1;
- while( --it1 != first1 && std::find( first2, last2, *it1 ) == last2 ) {}
-
- return it1 == first1 && std::find( first2, last2, *it1 ) == last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that satisfy binary
-/// predicate in conjunction will at least one element in second collection
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template<class BidirectionalIterator1, class ForwardIterator2, class Predicate>
-inline BidirectionalIterator1
-find_last_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1,
- ForwardIterator2 first2, ForwardIterator2 last2,
- Predicate pred )
-{
- if( first1 == last1 || first2 == last2 )
- return last1;
-
- BidirectionalIterator1 it1 = last1;
- while( --it1 != first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) == last2 ) {}
-
- return it1 == first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) == last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that does not belong to a second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template<class BidirectionalIterator1, class ForwardIterator2>
-inline BidirectionalIterator1
-find_last_not_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1,
- ForwardIterator2 first2, ForwardIterator2 last2 )
-{
- if( first1 == last1 || first2 == last2 )
- return last1;
-
- BidirectionalIterator1 it1 = last1;
- while( --it1 != first1 && std::find( first2, last2, *it1 ) != last2 ) {}
-
- return it1 == first1 && std::find( first2, last2, *it1 ) != last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that does not satisfy binary
-/// predicate in conjunction will any element in second collection
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template<class BidirectionalIterator1, class ForwardIterator2, class Predicate>
-inline BidirectionalIterator1
-find_last_not_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1,
- ForwardIterator2 first2, ForwardIterator2 last2,
- Predicate pred )
-{
- if( first1 == last1 || first2 == last2 )
- return last1;
-
- BidirectionalIterator1 it1 = last1;
- while( --it1 != first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) != last2 ) {}
-
- return it1 == first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) == last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_ALGORITHM_HPP_062304GER
-
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/assign_op.hpp b/src/third_party/boost-1.56.0/boost/test/utils/assign_op.hpp
deleted file mode 100644
index 434219fa9df..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/assign_op.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : overloadable assignment
-// ***************************************************************************
-
-#ifndef BOOST_TEST_ASSIGN_OP_033005GER
-#define BOOST_TEST_ASSIGN_OP_033005GER
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** generic assign operator ************** //
-// ************************************************************************** //
-
-// generic
-template<typename T,typename S>
-inline void
-assign_op( T& t, S const& s, long )
-{
- t = s;
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-#endif // BOOST_TEST_ASSIGN_OP_033005GER
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring.hpp b/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring.hpp
deleted file mode 100644
index 14742c49f9a..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring.hpp
+++ /dev/null
@@ -1,731 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : class basic_cstring wraps C string and provide std_string like
-// interface
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BASIC_CSTRING_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring_fwd.hpp>
-#include <boost/test/utils/basic_cstring/bcs_char_traits.hpp>
-
-// STL
-#include <string>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** basic_cstring ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-class basic_cstring {
- typedef basic_cstring<CharT> self_type;
-public:
- // Subtypes
- typedef ut_detail::bcs_char_traits<CharT> traits_type;
- typedef typename ut_detail::bcs_char_traits<CharT>::std_string std_string;
-
- typedef CharT value_type;
- typedef value_type* pointer;
- typedef value_type const* const_pointer;
- typedef value_type& reference;
- typedef const value_type& const_reference;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
-
- typedef value_type const* const_iterator;
- typedef value_type* iterator;
-
- // !! should also present reverse_iterator, const_reverse_iterator
-
-#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
- enum npos_type { npos = static_cast<size_type>(-1) };
-#else
- // IBM/VisualAge version 6 is not able to handle enums larger than 4 bytes.
- // But size_type is 8 bytes in 64bit mode.
- static const size_type npos = -1 ;
-#endif
-
- static pointer null_str();
-
- // Constructors; default copy constructor is generated by compiler
- basic_cstring();
- basic_cstring( std_string const& s );
- basic_cstring( pointer s );
- basic_cstring( pointer s, size_type arg_size );
- basic_cstring( pointer first, pointer last );
-
- // data access methods
- value_type operator[]( size_type index ) const;
- value_type at( size_type index ) const;
-
- // size operators
- size_type size() const;
- bool is_empty() const;
- void clear();
- void resize( size_type new_len );
-
- // !! only for STL container conformance use is_empty instead
- bool empty() const;
-
- // Trimming
- self_type& trim_right( size_type trim_size );
- self_type& trim_left( size_type trim_size );
- self_type& trim_right( iterator it );
- self_type& trim_left( iterator it );
-#ifndef __IBMCPP__
- self_type& trim_left( self_type exclusions = self_type() ) ;
- self_type& trim_right( self_type exclusions = self_type() ) ;
- self_type& trim( self_type exclusions = self_type() ) ;
-#else
- // VisualAge version 6 has in this case a problem with the default arguments.
- self_type& trim_left( self_type exclusions ) ;
- self_type& trim_right( self_type exclusions ) ;
- self_type& trim( self_type exclusions ) ;
- self_type& trim_left() { trim_left( self_type() ) ; }
- self_type& trim_right() { trim_right( self_type() ) ; }
- self_type& trim() { trim( self_type() ) ; }
-#endif
-
- // Assignment operators
- basic_cstring& operator=( self_type const& s );
- basic_cstring& operator=( std_string const& s );
- basic_cstring& operator=( pointer s );
-
- template<typename CharT2>
- basic_cstring& assign( basic_cstring<CharT2> const& s ) { *this = basic_cstring<CharT>( s.begin(), s.end() ); return *this; }
- basic_cstring& assign( self_type const& s, size_type pos, size_type len );
- basic_cstring& assign( std_string const& s );
- basic_cstring& assign( std_string const& s, size_type pos, size_type len );
- basic_cstring& assign( pointer s );
- basic_cstring& assign( pointer s, size_type len );
- basic_cstring& assign( pointer f, pointer l );
-
- // swapping
- void swap( self_type& s );
-
- // Iterators
- iterator begin();
- const_iterator begin() const;
- iterator end();
- const_iterator end() const;
-
- // !! should have rbegin, rend
-
- // substring search operation
- size_type find( basic_cstring ) const;
- size_type rfind( basic_cstring ) const;
- self_type substr( size_type beg_index, size_type end_index = npos ) const;
-
-private:
- static self_type default_trim_ex();
-
- // Data members
- iterator m_begin;
- iterator m_end;
-};
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::pointer
-basic_cstring<CharT>::null_str()
-{
- static CharT null = 0;
- return &null;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring()
-: m_begin( null_str() )
-, m_end( m_begin )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( std_string const& s )
-: m_begin( s.c_str() )
-, m_end( m_begin + s.size() )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( pointer s )
-: m_begin( s ? s : null_str() )
-, m_end ( m_begin + (s ? traits_type::length( s ) : 0 ) )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( pointer s, size_type arg_size )
-: m_begin( s ), m_end( m_begin + arg_size )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( pointer first, pointer last )
-: m_begin( first )
-, m_end( last )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-basic_cstring<CharT>::operator[]( size_type index ) const
-{
- return m_begin[index];
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-basic_cstring<CharT>::at( size_type index ) const
-{
- if( m_begin + index >= m_end )
- return static_cast<value_type>(0);
-
- return m_begin[index];
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::size() const
-{
- return m_end - m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-basic_cstring<CharT>::is_empty() const
-{
- return m_end == m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-basic_cstring<CharT>::empty() const
-{
- return is_empty();
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline void
-basic_cstring<CharT>::clear()
-{
- m_begin = m_end;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline void
-basic_cstring<CharT>::resize( size_type new_len )
-{
- if( m_begin + new_len < m_end )
- m_end = m_begin + new_len;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_left( size_type trim_size )
-{
- m_begin += trim_size;
- if( m_end <= m_begin )
- clear();
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_left( iterator it )
-{
- m_begin = it;
- if( m_end <= m_begin )
- clear();
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_left( basic_cstring exclusions )
-{
- if( exclusions.is_empty() )
- exclusions = default_trim_ex();
-
- iterator it;
- for( it = begin(); it != end(); ++it ) {
- if( traits_type::find( exclusions.begin(), exclusions.size(), *it ) == reinterpret_cast<pointer>(0) )
- break;
- }
-
- return trim_left( it );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_right( size_type trim_size )
-{
- m_end -= trim_size;
- if( m_end <= m_begin )
- clear();
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_right( iterator it )
-{
- m_end = it;
- if( m_end <= m_begin )
- clear();
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_right( basic_cstring exclusions )
-{
- if( exclusions.is_empty() )
- exclusions = default_trim_ex();
-
- iterator it;
-
- for( it = end()-1; it != begin()-1; --it ) {
- if( self_type::traits_type::find( exclusions.begin(), exclusions.size(), *it ) == reinterpret_cast<pointer>(0) )
- break;
- }
-
- return trim_right( it+1 );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim( basic_cstring exclusions )
-{
- trim_left( exclusions );
- trim_right( exclusions );
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::operator=( basic_cstring<CharT> const& s )
-{
- m_begin = s.m_begin;
- m_end = s.m_end;
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::operator=( std_string const& s )
-{
- return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::operator=( pointer s )
-{
- return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( basic_cstring<CharT> const& s, size_type pos, size_type len )
-{
- return *this = self_type( s.m_begin + pos, len );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( std_string const& s )
-{
- return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( std_string const& s, size_type pos, size_type len )
-{
- return *this = self_type( s.c_str() + pos, len );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( pointer s )
-{
- return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( pointer s, size_type len )
-{
- return *this = self_type( s, len );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( pointer f, pointer l )
-{
- return *this = self_type( f, l );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline void
-basic_cstring<CharT>::swap( basic_cstring<CharT>& s )
-{
- // do not want to include alogrithm
- pointer tmp1 = m_begin;
- pointer tmp2 = m_end;
-
- m_begin = s.m_begin;
- m_end = s.m_end;
-
- s.m_begin = tmp1;
- s.m_end = tmp2;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::iterator
-basic_cstring<CharT>::begin()
-{
- return m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::const_iterator
-basic_cstring<CharT>::begin() const
-{
- return m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::iterator
-basic_cstring<CharT>::end()
-{
- return m_end;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::const_iterator
-basic_cstring<CharT>::end() const
-{
- return m_end;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::find( basic_cstring<CharT> str ) const
-{
- if( str.is_empty() || str.size() > size() )
- return static_cast<size_type>(npos);
-
- const_iterator it = begin();
- const_iterator last = end() - str.size() + 1;
-
- while( it != last ) {
- if( traits_type::compare( it, str.begin(), str.size() ) == 0 )
- break;
-
- ++it;
- }
-
- return it == last ? static_cast<size_type>(npos) : it - begin();
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::rfind( basic_cstring<CharT> str ) const
-{
- if( str.is_empty() || str.size() > size() )
- return static_cast<size_type>(npos);
-
- const_iterator it = end() - str.size();
- const_iterator last = begin()-1;
-
- while( it != last ) {
- if( traits_type::compare( it, str.begin(), str.size() ) == 0 )
- break;
-
- --it;
- }
-
- return it == last ? static_cast<size_type>(npos) : static_cast<size_type>(it - begin());
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>
-basic_cstring<CharT>::substr( size_type beg_index, size_type end_index ) const
-{
- return beg_index > size()
- ? self_type()
- : end_index > size()
- ? self_type( m_begin + beg_index, m_end )
- : self_type( m_begin + beg_index, m_begin + end_index );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>
-basic_cstring<CharT>::default_trim_ex()
-{
- static CharT ws[3] = { CharT(' '), CharT('\t'), CharT('\n') }; // !! wide case
-
- return self_type( ws, 3 );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** comparison operators ************** //
-// ************************************************************************** //
-
-template<typename CharT1,typename CharT2>
-inline bool
-operator==( basic_cstring<CharT1> const& s1, basic_cstring<CharT2> const& s2 )
-{
- typedef typename basic_cstring<CharT1>::traits_type traits_type;
- return s1.size() == s2.size() &&
- traits_type::compare( s1.begin(), s2.begin(), s1.size() ) == 0;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT1,typename CharT2>
-inline bool
-operator==( basic_cstring<CharT1> const& s1, CharT2* s2 )
-{
-#if !defined(__DMC__)
- return s1 == basic_cstring<CharT2>( s2 );
-#else
- return s1 == basic_cstring<CharT2 const>( s2 );
-#endif
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator==( basic_cstring<CharT> const& s1, typename basic_cstring<CharT>::std_string const& s2 )
-{
- return s1 == basic_cstring<CharT>( s2 );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT1,typename CharT2>
-inline bool
-operator==( CharT1* s2, basic_cstring<CharT2> const& s1 )
-{
- return s1 == s2;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator==( typename basic_cstring<CharT>::std_string const& s2, basic_cstring<CharT> const& s1 )
-{
- return s1 == s2;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( basic_cstring<CharT> const& s1, CharT* s2 )
-{
- return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( CharT* s2, basic_cstring<CharT> const& s1 )
-{
- return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( basic_cstring<CharT> const& s1, basic_cstring<CharT> const& s2 )
-{
- return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( basic_cstring<CharT> const& s1, typename basic_cstring<CharT>::std_string const& s2 )
-{
- return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( typename basic_cstring<CharT>::std_string const& s2, basic_cstring<CharT> const& s1 )
-{
- return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** first_char ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-first_char( basic_cstring<CharT> source )
-{
- typedef typename basic_cstring<CharT>::value_type string_value_type;
-
- return source.is_empty() ? static_cast<string_value_type>(0) : *source.begin();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** last_char ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-last_char( basic_cstring<CharT> source )
-{
- typedef typename basic_cstring<CharT>::value_type string_value_type;
-
- return source.is_empty() ? static_cast<string_value_type>(0) : *(source.end()-1);
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** assign_op ************** //
-// ************************************************************************** //
-
-template<typename CharT1, typename CharT2>
-inline void
-assign_op( std::basic_string<CharT1>& target, basic_cstring<CharT2> src, int )
-{
- target.assign( src.begin(), src.size() );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BASIC_CSTRING_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp b/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp
deleted file mode 100644
index f3d11a5cd23..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : basic_cstring class wrap C string and provide std_string like
-// interface
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-
-namespace unit_test {
-
-template<typename CharT> class basic_cstring;
-typedef basic_cstring<char const> const_string;
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590041))
-typedef const_string literal_string;
-#else
-typedef const_string const literal_string;
-#endif
-
-typedef char const* const c_literal_string;
-
-} // namespace unit_test
-
-} // namespace boost
-
-#endif // BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/bcs_char_traits.hpp b/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/bcs_char_traits.hpp
deleted file mode 100644
index a97d4616a24..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/bcs_char_traits.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : generic char traits class; wraps std::char_traits
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
-#define BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/test/detail/config.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-// STL
-#include <string> // std::char_traits
-#include <cstddef> // std::size_t
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace ut_detail {
-
-template<typename CharT> struct bcs_base_char { typedef CharT type; };
-
-template<> struct bcs_base_char<char const> { typedef char type; };
-template<> struct bcs_base_char<unsigned char> { typedef char type; };
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<> struct bcs_base_char<unsigned char const> { typedef char type; };
-#endif
-
-template<> struct bcs_base_char<wchar_t const> { typedef wchar_t type; };
-
-// ************************************************************************** //
-// ************** bcs_char_traits ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-struct bcs_char_traits_impl
-{
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
- typedef CharT const const_char;
-#else
- typedef typename boost::add_const<CharT>::type const_char;
-#endif
- static bool eq( CharT c1, CharT c2 )
- {
- return c1 == c2;
- }
- static bool lt( CharT c1, CharT c2 )
- {
- return c1 < c2;
- }
-
- static int compare( const_char* cstr1, const_char* cstr2, std::size_t n )
- {
- while( n > 0 ) {
- if( !eq( *cstr1, *cstr2 ) )
- return lt( *cstr1, *cstr2 ) ? -1 : 1;
- ++cstr1;
- ++cstr2;
- --n;
- }
-
- return 0;
- }
-
- static std::size_t length( const_char* cstr )
- {
- const_char null_char = CharT();
-
- const_char* ptr = cstr;
- while( !eq( *ptr, null_char ) )
- ++ptr;
-
- return ptr - cstr;
- }
-
- static const_char* find( const_char* s, std::size_t n, CharT c )
- {
- while( n > 0 ) {
- if( eq( *s, c ) )
- return s;
-
- ++s;
- --n;
- }
- return 0;
- }
-};
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-template<typename CharT>
-struct char_traits_with_find : std::string_char_traits<CharT> {
- static CharT const* find( CharT const* s, std::size_t n, CharT c )
- {
- while( n > 0 ) {
- if( eq( *s, c ) )
- return s;
-
- ++s;
- --n;
- }
- return 0;
- }
-};
-
-template<> struct bcs_char_traits_impl<char> : char_traits_with_find<char> {};
-template<> struct bcs_char_traits_impl<wchar_t> : char_traits_with_find<wchar_t> {};
-#else
-template<> struct bcs_char_traits_impl<char> : std::char_traits<char> {};
-template<> struct bcs_char_traits_impl<wchar_t> : std::char_traits<wchar_t> {};
-#endif
-
-template<typename CharT>
-class bcs_char_traits : public bcs_char_traits_impl<CharT> {
- typedef typename ut_detail::bcs_base_char<CharT>::type the_base_char;
-public:
-#ifdef BOOST_CLASSIC_IOSTREAMS
- typedef std::basic_string<the_base_char, std::string_char_traits<the_base_char> > std_string;
-#else
- typedef std::basic_string<the_base_char, std::char_traits<the_base_char> > std_string;
-#endif
-};
-
-} // namespace ut_detail
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/compare.hpp b/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/compare.hpp
deleted file mode 100644
index 5c1416f17a8..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/compare.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : class basic_cstring comparisons implementation
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-
-// STL
-#include <functional>
-#include <cctype>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-# if defined(BOOST_NO_STDC_NAMESPACE) && !BOOST_WORKAROUND(__BORLANDC__, <= 0x570)
-namespace std { using ::toupper; }
-# endif
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** case_ins_compare ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<class CharT>
-struct case_ins
-{
- static bool eq( CharT c1, CharT c2 ) { return (std::toupper)( c1 ) == (std::toupper)( c2 ); }
- static bool lt( CharT c1, CharT c2 ) { return (std::toupper)( c1 ) < (std::toupper)( c2 ); }
-
- static int compare( CharT const* s1, CharT const* s2, std::size_t n )
- {
- for( std::size_t i = 0; i < n; ++i ) {
- if( !eq( s1[i], s2[i] ) )
- return lt( s1[i], s2[i] ) ? -1 : 1;
- }
- return 0;
- }
-};
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// ************** case_ins_eq ************** //
-// ************************************************************************** //
-
-template<class CharT>
-inline bool
-case_ins_eq( basic_cstring<CharT> x, basic_cstring<CharT> y )
-{
- return x.size() == y.size() && ut_detail::case_ins<CharT>::compare( x.begin(), y.begin(), x.size() ) == 0;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** case_ins_less ************** //
-// ************************************************************************** //
-
-template<class CharT>
-class case_ins_less : public std::binary_function<basic_cstring<CharT>,basic_cstring<CharT>,bool>
-{
-public:
- bool operator()( basic_cstring<CharT> x, basic_cstring<CharT> y ) const
- {
- return x.size() != y.size()
- ? x.size() < y.size()
- : ut_detail::case_ins<CharT>::compare( x.begin(), y.begin(), x.size() ) < 0;
- }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** operator < ************** //
-// ************************************************************************** //
-
-template<class CharT>
-inline bool
-operator <( boost::unit_test::basic_cstring<CharT> const& x,
- boost::unit_test::basic_cstring<CharT> const& y )
-{
- typedef typename boost::unit_test::basic_cstring<CharT>::traits_type traits_type;
- return x.size() != y.size()
- ? x.size() < y.size()
- : traits_type::compare( x.begin(), y.begin(), x.size() ) < 0;
-}
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/io.hpp b/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/io.hpp
deleted file mode 100644
index 1c8a2a38265..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/basic_cstring/io.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : basic_cstring i/o implementation
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-
-// STL
-#include <iosfwd>
-#include <string>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-
-template<typename CharT>
-inline std::ostream&
-operator<<( std::ostream& os, basic_cstring<CharT> const& str )
-{
- typedef typename ut_detail::bcs_base_char<CharT>::type char_type;
- char_type const* const beg = reinterpret_cast<char_type const* const>( str.begin() );
- char_type const* const end = reinterpret_cast<char_type const* const>( str.end() );
- os << std::basic_string<char_type>( beg, end - beg );
-
- return os;
-}
-
-#else
-
-template<typename CharT1, typename Tr,typename CharT2>
-inline std::basic_ostream<CharT1,Tr>&
-operator<<( std::basic_ostream<CharT1,Tr>& os, basic_cstring<CharT2> const& str )
-{
- CharT1 const* const beg = reinterpret_cast<CharT1 const*>( str.begin() ); // !!
- CharT1 const* const end = reinterpret_cast<CharT1 const*>( str.end() );
- os << std::basic_string<CharT1,Tr>( beg, end - beg );
-
- return os;
-}
-
-#endif
-
-//____________________________________________________________________________//
-
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/callback.hpp b/src/third_party/boost-1.56.0/boost/test/utils/callback.hpp
deleted file mode 100644
index 6aa0a157730..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/callback.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description :
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CALLBACK_020505GER
-#define BOOST_TEST_CALLBACK_020505GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/shared_ptr.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(BOOST_INTEL, <= 700)
-# define BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-#endif
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace ut_detail {
-
-struct unused {};
-
-template<typename R>
-struct invoker {
- template<typename Functor>
- R invoke( Functor& f ) { return f(); }
- template<typename Functor, typename T1>
- R invoke( Functor& f, T1 t1 ) { return f( t1 ); }
- template<typename Functor, typename T1, typename T2>
- R invoke( Functor& f, T1 t1, T2 t2 ) { return f( t1, t2 ); }
- template<typename Functor, typename T1, typename T2, typename T3>
- R invoke( Functor& f, T1 t1, T2 t2, T3 t3 ) { return f( t1, t2, t3 ); }
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct invoker<unused> {
- template<typename Functor>
- unused invoke( Functor& f ) { f(); return unused(); }
- template<typename Functor, typename T1>
- unused invoke( Functor& f, T1 t1 ) { f( t1 ); return unused(); }
- template<typename Functor, typename T1, typename T2>
- unused invoke( Functor& f, T1 t1, T2 t2 ) { f( t1, t2 ); return unused(); }
- template<typename Functor, typename T1, typename T2, typename T3>
- unused invoke( Functor& f, T1 t1, T2 t2, T3 t3 ) { f( t1, t2, t3 ); return unused(); }
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// ************** unit_test::callback0 ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R>
-struct callback0_impl {
- virtual ~callback0_impl() {}
-
- virtual R invoke() = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename Functor>
-struct callback0_impl_t : callback0_impl<R> {
- // Constructor
- explicit callback0_impl_t( Functor f ) : m_f( f ) {}
-
- virtual R invoke() { return invoker<R>().invoke( m_f ); }
-
-private:
- // Data members
- Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename R = ut_detail::unused>
-class callback0 {
-public:
- // Constructors
- callback0() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
- callback0( callback0 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
- template<typename Functor>
- callback0( Functor f )
- : m_impl( new ut_detail::callback0_impl_t<R,Functor>( f ) ) {}
-
- void operator=( callback0 const& rhs ) { m_impl = rhs.m_impl; }
-
- template<typename Functor>
- void operator=( Functor f ) { m_impl.reset( new ut_detail::callback0_impl_t<R,Functor>( f ) ); }
-
- R operator()() const { return m_impl->invoke(); }
-
- bool operator!() const { return !m_impl; }
-
-private:
- // Data members
- boost::shared_ptr<ut_detail::callback0_impl<R> > m_impl;
-};
-
-// ************************************************************************** //
-// ************** unit_test::callback1 ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R, typename T1>
-struct callback1_impl {
- virtual ~callback1_impl() {}
-
- virtual R invoke( T1 t1 ) = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename T1,typename Functor>
-struct callback1_impl_t : callback1_impl<R,T1> {
- // Constructor
- explicit callback1_impl_t( Functor f ) : m_f( f ) {}
-
- virtual R invoke( T1 t1 ) { return invoker<R>().invoke( m_f, t1 ); }
-
-private:
- // Data members
- Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename T1,typename R = ut_detail::unused>
-class callback1 {
-public:
- // Constructors
- callback1() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
- callback1( callback1 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
- template<typename Functor>
- callback1( Functor f )
- : m_impl( new ut_detail::callback1_impl_t<R,T1,Functor>( f ) ) {}
-
- void operator=( callback1 const& rhs ) { m_impl = rhs.m_impl; }
-
- template<typename Functor>
- void operator=( Functor f ) { m_impl.reset( new ut_detail::callback1_impl_t<R,T1,Functor>( f ) ); }
-
- R operator()( T1 t1 ) const { return m_impl->invoke( t1 ); }
-
- bool operator!() const { return !m_impl; }
-
-private:
- // Data members
- boost::shared_ptr<ut_detail::callback1_impl<R,T1> > m_impl;
-};
-
-// ************************************************************************** //
-// ************** unit_test::callback2 ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R, typename T1,typename T2>
-struct callback2_impl {
- virtual ~callback2_impl() {}
-
- virtual R invoke( T1 t1, T2 t2 ) = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename T1, typename T2, typename Functor>
-struct callback2_impl_t : callback2_impl<R,T1,T2> {
- // Constructor
- explicit callback2_impl_t( Functor f ) : m_f( f ) {}
-
- virtual R invoke( T1 t1, T2 t2 ) { return invoker<R>().template invoke<Functor,T1,T2>( m_f, t1, t2 ); }
-
-private:
- // Data members
- Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename T1,typename T2, typename R = ut_detail::unused>
-class callback2 {
-public:
- // Constructors
- callback2() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
- callback2( callback2 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
- template<typename Functor>
- callback2( Functor f ) : m_impl( new ut_detail::callback2_impl_t<R,T1,T2,Functor>( f ) ) {}
-
- void operator=( callback2 const& rhs ) { m_impl = rhs.m_impl; }
-
- template<typename Functor>
- void operator=( Functor f ) { m_impl.reset( new ut_detail::callback2_impl_t<R,T1,T2,Functor>( f ) ); }
-
- R operator()( T1 t1, T2 t2 ) const { return m_impl->invoke( t1, t2 ); }
-
- bool operator!() const { return !m_impl; }
-
-private:
- // Data members
- boost::shared_ptr<ut_detail::callback2_impl<R,T1,T2> > m_impl;
-};
-
-// ************************************************************************** //
-// ************** unit_test::callback3 ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R, typename T1, typename T2, typename T3>
-struct callback3_impl {
- virtual ~callback3_impl() {}
-
- virtual R invoke( T1 t1, T2 t2, T3 t3 ) = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename T1, typename T2, typename T3, typename Functor>
-struct callback3_impl_t : callback3_impl<R,T1,T2,T3> {
- // Constructor
- explicit callback3_impl_t( Functor f ) : m_f( f ) {}
-
- virtual R invoke( T1 t1, T2 t2, T3 t3 ) { return invoker<R>().invoke( m_f, t1, t2, t3 ); }
-
-private:
- // Data members
- Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename T1,typename T2, typename T3, typename R = ut_detail::unused>
-class callback3 {
-public:
- // Constructors
- callback3() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
- callback3( callback3 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
- template<typename Functor>
- callback3( Functor f )
- : m_impl( new ut_detail::callback3_impl_t<R,T1,T2,T3,Functor>( f ) ) {}
-
- void operator=( callback3 const& rhs ) { m_impl = rhs.m_impl; }
-
- template<typename Functor>
- void operator=( Functor f ) { m_impl.reset( new ut_detail::callback3_impl_t<R,T1,T2,T3,Functor>( f ) ); }
-
- R operator()( T1 t1, T2 t2, T3 t3 ) const { return m_impl->invoke( t1, t2, t3 ); }
-
- bool operator!() const { return !m_impl; }
-
-private:
- // Data members
- boost::shared_ptr<ut_detail::callback3_impl<R,T1,T2,T3> > m_impl;
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-#undef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_CALLBACK_020505GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/class_properties.hpp b/src/third_party/boost-1.56.0/boost/test/utils/class_properties.hpp
deleted file mode 100644
index d2070dc97a2..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/class_properties.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : simple facility that mimmic notion of read-only read-write
-// properties in C++ classes. Original idea by Henrik Ravn.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
-#define BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// Boost
-#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-#include <boost/preprocessor/seq/for_each.hpp>
-#endif
-#include <boost/call_traits.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/utility/addressof.hpp>
-
-// STL
-#include <iosfwd>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** class_property ************** //
-// ************************************************************************** //
-
-template<class PropertyType>
-class class_property {
-protected:
- typedef typename call_traits<PropertyType>::const_reference read_access_t;
- typedef typename call_traits<PropertyType>::param_type write_param_t;
- typedef typename add_pointer<typename add_const<PropertyType>::type>::type address_res_t;
-public:
- // Constructor
- class_property() : value( PropertyType() ) {}
- explicit class_property( write_param_t init_value )
- : value( init_value ) {}
-
- // Access methods
- operator read_access_t() const { return value; }
- read_access_t get() const { return value; }
- bool operator!() const { return !value; }
- address_res_t operator&() const { return &value; }
-
- // Data members
-#ifndef BOOST_TEST_NO_PROTECTED_USING
-protected:
-#endif
- PropertyType value;
-};
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-
-template<class PropertyType>
-inline std::ostream&
-operator<<( std::ostream& os, class_property<PropertyType> const& p )
-
-#else
-
-template<typename CharT1, typename Tr,class PropertyType>
-inline std::basic_ostream<CharT1,Tr>&
-operator<<( std::basic_ostream<CharT1,Tr>& os, class_property<PropertyType> const& p )
-
-#endif
-{
- return os << p.get();
-}
-
-//____________________________________________________________________________//
-
-#define DEFINE_PROPERTY_FREE_BINARY_OPERATOR( op ) \
-template<class PropertyType> \
-inline bool \
-operator op( PropertyType const& lhs, class_property<PropertyType> const& rhs ) \
-{ \
- return lhs op rhs.get(); \
-} \
-template<class PropertyType> \
-inline bool \
-operator op( class_property<PropertyType> const& lhs, PropertyType const& rhs ) \
-{ \
- return lhs.get() op rhs; \
-} \
-template<class PropertyType> \
-inline bool \
-operator op( class_property<PropertyType> const& lhs, \
- class_property<PropertyType> const& rhs ) \
-{ \
- return lhs.get() op rhs.get(); \
-} \
-/**/
-
-DEFINE_PROPERTY_FREE_BINARY_OPERATOR( == )
-DEFINE_PROPERTY_FREE_BINARY_OPERATOR( != )
-
-#undef DEFINE_PROPERTY_FREE_BINARY_OPERATOR
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-#define DEFINE_PROPERTY_LOGICAL_OPERATOR( op ) \
-template<class PropertyType> \
-inline bool \
-operator op( bool b, class_property<PropertyType> const& p ) \
-{ \
- return b op p.get(); \
-} \
-template<class PropertyType> \
-inline bool \
-operator op( class_property<PropertyType> const& p, bool b ) \
-{ \
- return b op p.get(); \
-} \
-/**/
-
-DEFINE_PROPERTY_LOGICAL_OPERATOR( && )
-DEFINE_PROPERTY_LOGICAL_OPERATOR( || )
-
-#endif
-
-// ************************************************************************** //
-// ************** readonly_property ************** //
-// ************************************************************************** //
-
-template<class PropertyType>
-class readonly_property : public class_property<PropertyType> {
- typedef class_property<PropertyType> base_prop;
- typedef typename base_prop::address_res_t arrow_res_t;
-protected:
- typedef typename base_prop::write_param_t write_param_t;
-public:
- // Constructor
- readonly_property() {}
- explicit readonly_property( write_param_t init_value ) : base_prop( init_value ) {}
-
- // access methods
- arrow_res_t operator->() const { return boost::addressof( base_prop::value ); }
-};
-
-//____________________________________________________________________________//
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-
-#define BOOST_READONLY_PROPERTY( property_type, friends ) boost::unit_test::readwrite_property<property_type >
-
-#else
-
-#define BOOST_READONLY_PROPERTY_DECLARE_FRIEND(r, data, elem) friend class elem;
-
-#define BOOST_READONLY_PROPERTY( property_type, friends ) \
-class BOOST_JOIN( readonly_property, __LINE__ ) \
-: public boost::unit_test::readonly_property<property_type > { \
- typedef boost::unit_test::readonly_property<property_type > base_prop; \
- BOOST_PP_SEQ_FOR_EACH( BOOST_READONLY_PROPERTY_DECLARE_FRIEND, ' ', friends ) \
- typedef base_prop::write_param_t write_param_t; \
-public: \
- BOOST_JOIN( readonly_property, __LINE__ )() {} \
- explicit BOOST_JOIN( readonly_property, __LINE__ )( write_param_t init_v ) \
- : base_prop( init_v ) {} \
-} \
-/**/
-
-#endif
-
-// ************************************************************************** //
-// ************** readwrite_property ************** //
-// ************************************************************************** //
-
-template<class PropertyType>
-class readwrite_property : public class_property<PropertyType> {
- typedef class_property<PropertyType> base_prop;
- typedef typename add_pointer<PropertyType>::type arrow_res_t;
- typedef typename base_prop::address_res_t const_arrow_res_t;
- typedef typename base_prop::write_param_t write_param_t;
-public:
- readwrite_property() : base_prop() {}
- explicit readwrite_property( write_param_t init_value ) : base_prop( init_value ) {}
-
- // access methods
- void set( write_param_t v ) { base_prop::value = v; }
- arrow_res_t operator->() { return boost::addressof( base_prop::value ); }
- const_arrow_res_t operator->() const { return boost::addressof( base_prop::value ); }
-
-#ifndef BOOST_TEST_NO_PROTECTED_USING
- using base_prop::value;
-#endif
-};
-
-//____________________________________________________________________________//
-
-} // unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#undef BOOST_TEST_NO_PROTECTED_USING
-
-#endif // BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/custom_manip.hpp b/src/third_party/boost-1.56.0/boost/test/utils/custom_manip.hpp
deleted file mode 100644
index 52705a97033..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/custom_manip.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : simple helpers for creating cusom output manipulators
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
-#define BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
-
-// STL
-#include <iosfwd>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** custom manipulators helpers ************** //
-// ************************************************************************** //
-
-template<typename Manip>
-struct custom_printer {
- explicit custom_printer( std::ostream& ostr ) : m_ostr( &ostr ) {}
-
- std::ostream& operator*() const { return *m_ostr; }
-
-private:
- std::ostream* const m_ostr;
-};
-
-//____________________________________________________________________________//
-
-template<typename Uniq> struct custom_manip {};
-
-//____________________________________________________________________________//
-
-template<typename Uniq>
-inline custom_printer<custom_manip<Uniq> >
-operator<<( std::ostream& ostr, custom_manip<Uniq> const& ) { return custom_printer<custom_manip<Uniq> >( ostr ); }
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/fixed_mapping.hpp b/src/third_party/boost-1.56.0/boost/test/utils/fixed_mapping.hpp
deleted file mode 100644
index e8139337bb0..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/fixed_mapping.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : fixed sized mapping with specified invalid value
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-#define BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-
-// Boost
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/call_traits.hpp>
-#include <boost/detail/binary_search.hpp>
-
-// STL
-#include <vector>
-#include <functional>
-#include <algorithm>
-#include <utility>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// configurable maximum fixed sized mapping size supported by this header.
-// You can redefine it before inclusion of this file.
-#ifndef MAX_MAP_SIZE
-#define MAX_MAP_SIZE 20
-#endif
-
-#define CONSTR_DECL_MID( z, i, dummy1 ) key_param_type key##i, value_param_type v##i,
-#define CONSTR_BODY_MID( z, i, dummy1 ) add_pair( key##i, v##i );
-
-#define CONSTR_DECL( z, n, dummy1 ) \
- fixed_mapping( BOOST_PP_REPEAT_ ## z( n, CONSTR_DECL_MID, "" ) \
- value_param_type invalid_value ) \
- : m_invalid_value( invalid_value ) \
- { \
- BOOST_PP_REPEAT_ ## z( n, CONSTR_BODY_MID, "" ) \
- init(); \
- } \
-/**/
-
-#define CONTRUCTORS( n ) BOOST_PP_REPEAT( n, CONSTR_DECL, "" )
-
-template<typename Key, typename Value, typename Compare = std::less<Key> >
-class fixed_mapping
-{
- typedef std::pair<Key,Value> elem_type;
- typedef std::vector<elem_type> map_type;
- typedef typename std::vector<elem_type>::const_iterator iterator;
-
- typedef typename call_traits<Key>::param_type key_param_type;
- typedef typename call_traits<Value>::param_type value_param_type;
- typedef typename call_traits<Value>::const_reference value_ref_type;
-
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
- struct p1; friend struct p1;
- struct p2; friend struct p2;
-#endif
-
- // bind( Compare(), bind(select1st<elem_type>(), _1), bind(identity<Key>(), _2) )
- struct p1 : public std::binary_function<elem_type,Key,bool>
- {
- bool operator()( elem_type const& x, Key const& y ) const { return Compare()( x.first, y ); }
- };
-
- // bind( Compare(), bind(select1st<elem_type>(), _1), bind(select1st<elem_type>(), _2) )
- struct p2 : public std::binary_function<elem_type,elem_type,bool>
- {
- bool operator()( elem_type const& x, elem_type const& y ) const { return Compare()( x.first, y.first ); }
- };
-
-public:
- // Constructors
- CONTRUCTORS( BOOST_PP_ADD( MAX_MAP_SIZE, 1 ) )
-
- // key -> value access
- value_ref_type operator[]( key_param_type key ) const
- {
- iterator it = boost::detail::lower_bound( m_map.begin(), m_map.end(), key, p1() );
-
- return (it == m_map.end() || Compare()( key, it->first ) ) ? m_invalid_value : it->second;
- }
-
-private:
- // Implementation
- void init() { std::sort( m_map.begin(), m_map.end(), p2() ); }
- void add_pair( key_param_type key, value_param_type value ) { m_map.push_back( elem_type( key, value ) ); }
-
- // Data members
- Value m_invalid_value;
- map_type m_map;
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#undef MAX_MAP_SIZE
-#undef CONSTR_DECL_MID
-#undef CONSTR_BODY_MID
-#undef CONSTR_DECL
-#undef CONTRUCTORS
-
-#endif // BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/foreach.hpp b/src/third_party/boost-1.56.0/boost/test/utils/foreach.hpp
deleted file mode 100644
index da32ae300fd..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/foreach.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-// (C) Copyright Eric Niebler 2004-2005
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : this is an abridged version of an excelent BOOST_FOREACH facility
-// presented by Eric Niebler. I am so fond of it so I can't wait till it
-// going to be accepted into Boost. Also I need version with less number of dependencies
-// and more portable. This version doesn't support rvalues and will reeveluate it's
-// parameters, but should be good enough for my purposes.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FOREACH_HPP_021005GER
-#define BOOST_TEST_FOREACH_HPP_021005GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// Boost
-#include <boost/type.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/test/detail/workaround.hpp>
-
-#include <boost/type_traits/is_const.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace for_each {
-
-// ************************************************************************** //
-// ************** static_any ************** //
-// ************************************************************************** //
-
-struct static_any_base
-{
- operator bool() const { return false; }
-};
-
-//____________________________________________________________________________//
-
-template<typename Iter>
-struct static_any : static_any_base
-{
- static_any( Iter const& t ) : m_it( t ) {}
-
- mutable Iter m_it;
-};
-
-//____________________________________________________________________________//
-
-typedef static_any_base const& static_any_t;
-
-//____________________________________________________________________________//
-
-template<typename Iter>
-inline Iter&
-static_any_cast( static_any_t a, Iter* = 0 )
-{
- return static_cast<Iter&>( static_cast<static_any<Iter> const&>( a ).m_it );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** is_const ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline is_const<C>
-is_const_coll( C& )
-{
- return is_const<C>();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** begin ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::iterator>
-begin( C& t, mpl::false_ )
-{
- return static_any<BOOST_DEDUCED_TYPENAME C::iterator>( t.begin() );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>
-begin( C const& t, mpl::true_ )
-{
- return static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>( t.begin() );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** end ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::iterator>
-end( C& t, mpl::false_ )
-{
- return static_any<BOOST_DEDUCED_TYPENAME C::iterator>( t.end() );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>
-end( C const& t, mpl::true_ )
-{
- return static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>( t.end() );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** done ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline bool
-done( static_any_t cur, static_any_t end, C&, mpl::false_ )
-{
- return static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur ) ==
- static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( end );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline bool
-done( static_any_t cur, static_any_t end, C const&, mpl::true_ )
-{
- return static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur ) ==
- static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( end );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** next ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline void
-next( static_any_t cur, C&, mpl::false_ )
-{
- ++static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline void
-next( static_any_t cur, C const&, mpl::true_ )
-{
- ++static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** deref ************** //
-// ************************************************************************** //
-
-template<class RefType,typename C>
-inline RefType
-deref( static_any_t cur, C&, ::boost::type<RefType>, mpl::false_ )
-{
- return *static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-template<class RefType,typename C>
-inline RefType
-deref( static_any_t cur, C const&, ::boost::type<RefType>, mpl::true_ )
-{
- return *static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** BOOST_TEST_FOREACH ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_FE_ANY ::boost::unit_test::for_each::static_any_t
-#define BOOST_TEST_FE_IS_CONST( COL ) ::boost::unit_test::for_each::is_const_coll( COL )
-
-#define BOOST_TEST_FE_BEG( COL ) \
- ::boost::unit_test::for_each::begin( \
- COL, \
- BOOST_TEST_FE_IS_CONST( COL ) ) \
-/**/
-
-#define BOOST_TEST_FE_END( COL ) \
- ::boost::unit_test::for_each::end( \
- COL, \
- BOOST_TEST_FE_IS_CONST( COL ) ) \
-/**/
-
-#define BOOST_TEST_FE_DONE( COL ) \
- ::boost::unit_test::for_each::done( \
- BOOST_TEST_FE_CUR_VAR, \
- BOOST_TEST_FE_END_VAR, \
- COL, \
- BOOST_TEST_FE_IS_CONST( COL ) ) \
-/**/
-
-#define BOOST_TEST_FE_NEXT( COL ) \
- ::boost::unit_test::for_each::next( \
- BOOST_TEST_FE_CUR_VAR, \
- COL, \
- BOOST_TEST_FE_IS_CONST( COL ) ) \
-/**/
-
-#define BOOST_FOREACH_NOOP(COL) \
- ((void)&(COL))
-
-#define BOOST_TEST_FE_DEREF( COL, RefType ) \
- ::boost::unit_test::for_each::deref( \
- BOOST_TEST_FE_CUR_VAR, \
- COL, \
- ::boost::type<RefType >(), \
- BOOST_TEST_FE_IS_CONST( COL ) ) \
-/**/
-
-#if BOOST_WORKAROUND( BOOST_MSVC, == 1310 )
-#define BOOST_TEST_LINE_NUM
-#else
-#define BOOST_TEST_LINE_NUM __LINE__
-#endif
-
-#define BOOST_TEST_FE_CUR_VAR BOOST_JOIN( _fe_cur_, BOOST_TEST_LINE_NUM )
-#define BOOST_TEST_FE_END_VAR BOOST_JOIN( _fe_end_, BOOST_TEST_LINE_NUM )
-#define BOOST_TEST_FE_CON_VAR BOOST_JOIN( _fe_con_, BOOST_TEST_LINE_NUM )
-
-#define BOOST_TEST_FOREACH( RefType, var, COL ) \
-if( BOOST_TEST_FE_ANY BOOST_TEST_FE_CUR_VAR = BOOST_TEST_FE_BEG( COL ) ) {} else \
-if( BOOST_TEST_FE_ANY BOOST_TEST_FE_END_VAR = BOOST_TEST_FE_END( COL ) ) {} else \
-for( bool BOOST_TEST_FE_CON_VAR = true; \
- BOOST_TEST_FE_CON_VAR && !BOOST_TEST_FE_DONE( COL ); \
- BOOST_TEST_FE_CON_VAR ? BOOST_TEST_FE_NEXT( COL ) : BOOST_FOREACH_NOOP( COL )) \
- \
- if( (BOOST_TEST_FE_CON_VAR = false, false) ) {} else \
- for( RefType var = BOOST_TEST_FE_DEREF( COL, RefType ); \
- !BOOST_TEST_FE_CON_VAR; BOOST_TEST_FE_CON_VAR = true ) \
-/**/
-
-//____________________________________________________________________________//
-
-} // namespace for_each
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_FOREACH_HPP_021005GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/iterator/input_iterator_facade.hpp b/src/third_party/boost-1.56.0/boost/test/utils/iterator/input_iterator_facade.hpp
deleted file mode 100644
index 6ce07b2af20..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/iterator/input_iterator_facade.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : Input iterator facade
-// ***************************************************************************
-
-#ifndef BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-#define BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-
-// Boost
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** input_iterator_core_access ************** //
-// ************************************************************************** //
-
-class input_iterator_core_access
-{
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-public:
-#else
- template <class I, class V, class R, class TC> friend class input_iterator_facade;
-#endif
-
- template <class Facade>
- static bool get( Facade& f )
- {
- return f.get();
- }
-
-private:
- // objects of this class are useless
- input_iterator_core_access(); //undefined
-};
-
-// ************************************************************************** //
-// ************** input_iterator_facade ************** //
-// ************************************************************************** //
-
-template<typename Derived,
- typename ValueType,
- typename Reference = ValueType const&,
- typename Traversal = single_pass_traversal_tag>
-class input_iterator_facade : public iterator_facade<Derived,ValueType,Traversal,Reference>
-{
-public:
- // Constructor
- input_iterator_facade() : m_valid( false ), m_value() {}
-
-protected: // provide access to the Derived
- void init()
- {
- m_valid = true;
- increment();
- }
-
- // Data members
- mutable bool m_valid;
- ValueType m_value;
-
-private:
- friend class boost::iterator_core_access;
-
- // iterator facade interface implementation
- void increment()
- {
- // we make post-end incrementation indefinetly safe
- if( m_valid )
- m_valid = input_iterator_core_access::get( *static_cast<Derived*>(this) );
- }
- Reference dereference() const
- {
- return m_value;
- }
-
- // iterator facade interface implementation
- bool equal( input_iterator_facade const& rhs ) const
- {
- // two invalid iterator equals, inequal otherwise
- return !m_valid && !rhs.m_valid;
- }
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/iterator/token_iterator.hpp b/src/third_party/boost-1.56.0/boost/test/utils/iterator/token_iterator.hpp
deleted file mode 100644
index 001507847df..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/iterator/token_iterator.hpp
+++ /dev/null
@@ -1,418 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : token iterator for string and range tokenization
-// ***************************************************************************
-
-#ifndef BOOST_TOKEN_ITERATOR_HPP_071894GER
-#define BOOST_TOKEN_ITERATOR_HPP_071894GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-#include <boost/test/utils/iterator/input_iterator_facade.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/named_params.hpp>
-#include <boost/test/utils/foreach.hpp>
-
-// STL
-#include <iosfwd>
-#include <cctype>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::ispunct; using ::isspace; }
-#endif
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** ti_delimeter_type ************** //
-// ************************************************************************** //
-
-enum ti_delimeter_type {
- dt_char, // character is delimeter if it among explicit list of some characters
- dt_ispunct, // character is delimeter if it satisfies ispunct functor
- dt_isspace, // character is delimeter if it satisfies isspace functor
- dt_none // no character is delimeter
-};
-
-namespace ut_detail {
-
-// ************************************************************************** //
-// ************** default_char_compare ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-class default_char_compare {
-public:
- bool operator()( CharT c1, CharT c2 )
- {
-#ifdef BOOST_CLASSIC_IOSTREAMS
- return std::string_char_traits<CharT>::eq( c1, c2 );
-#else
- return std::char_traits<CharT>::eq( c1, c2 );
-#endif
- }
-};
-
-// ************************************************************************** //
-// ************** delim_policy ************** //
-// ************************************************************************** //
-
-template<typename CharT,typename CharCompare>
-class delim_policy {
- typedef basic_cstring<CharT const> cstring;
-public:
- // Constructor
- explicit delim_policy( ti_delimeter_type t = dt_char, cstring d = cstring() )
- : m_type( t )
- {
- set_delimeters( d );
- }
-
- void set_delimeters( ti_delimeter_type t ) { m_type = t; }
- template<typename Src>
- void set_delimeters( Src d )
- {
- nfp::optionally_assign( m_delimeters, d );
-
- if( !m_delimeters.is_empty() )
- m_type = dt_char;
- }
-
- bool operator()( CharT c )
- {
- switch( m_type ) {
- case dt_char: {
- BOOST_TEST_FOREACH( CharT, delim, m_delimeters )
- if( CharCompare()( delim, c ) )
- return true;
-
- return false;
- }
- case dt_ispunct:
- return (std::ispunct)( c ) != 0;
- case dt_isspace:
- return (std::isspace)( c ) != 0;
- case dt_none:
- return false;
- }
-
- return false;
- }
-
-private:
- // Data members
- cstring m_delimeters;
- ti_delimeter_type m_type;
-};
-
-// ************************************************************************** //
-// ************** token_assigner ************** //
-// ************************************************************************** //
-
-template<typename TraversalTag>
-struct token_assigner {
-#if BOOST_WORKAROUND( BOOST_DINKUMWARE_STDLIB, < 306 )
- template<typename Iterator, typename C, typename T>
- static void assign( Iterator b, Iterator e, std::basic_string<C,T>& t )
- { for( ; b != e; ++b ) t += *b; }
-
- template<typename Iterator, typename C>
- static void assign( Iterator b, Iterator e, basic_cstring<C>& t ) { t.assign( b, e ); }
-#else
- template<typename Iterator, typename Token>
- static void assign( Iterator b, Iterator e, Token& t ) { t.assign( b, e ); }
-#endif
- template<typename Iterator, typename Token>
- static void append_move( Iterator& b, Token& ) { ++b; }
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct token_assigner<single_pass_traversal_tag> {
- template<typename Iterator, typename Token>
- static void assign( Iterator b, Iterator e, Token& t ) {}
-
- template<typename Iterator, typename Token>
- static void append_move( Iterator& b, Token& t ) { t += *b; ++b; }
-};
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// ************** modifiers ************** //
-// ************************************************************************** //
-
-namespace {
-nfp::keyword<struct dropped_delimeters_t > dropped_delimeters;
-nfp::keyword<struct kept_delimeters_t > kept_delimeters;
-nfp::typed_keyword<bool,struct keep_empty_tokens_t > keep_empty_tokens;
-nfp::typed_keyword<std::size_t,struct max_tokens_t > max_tokens;
-}
-
-// ************************************************************************** //
-// ************** token_iterator_base ************** //
-// ************************************************************************** //
-
-template<typename Derived,
- typename CharT,
- typename CharCompare = ut_detail::default_char_compare<CharT>,
- typename ValueType = basic_cstring<CharT const>,
- typename Reference = basic_cstring<CharT const>,
- typename Traversal = forward_traversal_tag>
-class token_iterator_base
-: public input_iterator_facade<Derived,ValueType,Reference,Traversal> {
- typedef basic_cstring<CharT const> cstring;
- typedef ut_detail::delim_policy<CharT,CharCompare> delim_policy;
- typedef input_iterator_facade<Derived,ValueType,Reference,Traversal> base;
-
-protected:
- // Constructor
- explicit token_iterator_base()
- : m_is_dropped( dt_isspace )
- , m_is_kept( dt_ispunct )
- , m_keep_empty_tokens( false )
- , m_tokens_left( static_cast<std::size_t>(-1) )
- , m_token_produced( false )
- {
- }
-
- template<typename Modifier>
- void
- apply_modifier( Modifier const& m )
- {
- if( m.has( dropped_delimeters ) )
- m_is_dropped.set_delimeters( m[dropped_delimeters] );
-
- if( m.has( kept_delimeters ) )
- m_is_kept.set_delimeters( m[kept_delimeters] );
-
- if( m.has( keep_empty_tokens ) )
- m_keep_empty_tokens = true;
-
- nfp::optionally_assign( m_tokens_left, m, max_tokens );
- }
-
- template<typename Iter>
- bool get( Iter& begin, Iter end )
- {
- typedef ut_detail::token_assigner<BOOST_DEDUCED_TYPENAME iterator_traversal<Iter>::type> Assigner;
- Iter check_point;
-
- this->m_value.clear();
-
- if( !m_keep_empty_tokens ) {
- while( begin != end && m_is_dropped( *begin ) )
- ++begin;
-
- if( begin == end )
- return false;
-
- check_point = begin;
-
- if( m_tokens_left == 1 )
- while( begin != end )
- Assigner::append_move( begin, this->m_value );
- else if( m_is_kept( *begin ) )
- Assigner::append_move( begin, this->m_value );
- else
- while( begin != end && !m_is_dropped( *begin ) && !m_is_kept( *begin ) )
- Assigner::append_move( begin, this->m_value );
-
- --m_tokens_left;
- }
- else { // m_keep_empty_tokens is true
- check_point = begin;
-
- if( begin == end ) {
- if( m_token_produced )
- return false;
-
- m_token_produced = true;
- }
- if( m_is_kept( *begin ) ) {
- if( m_token_produced )
- Assigner::append_move( begin, this->m_value );
-
- m_token_produced = !m_token_produced;
- }
- else if( !m_token_produced && m_is_dropped( *begin ) )
- m_token_produced = true;
- else {
- if( m_is_dropped( *begin ) )
- check_point = ++begin;
-
- while( begin != end && !m_is_dropped( *begin ) && !m_is_kept( *begin ) )
- Assigner::append_move( begin, this->m_value );
-
- m_token_produced = true;
- }
- }
-
- Assigner::assign( check_point, begin, this->m_value );
-
- return true;
- }
-
-private:
- // Data members
- delim_policy m_is_dropped;
- delim_policy m_is_kept;
- bool m_keep_empty_tokens;
- std::size_t m_tokens_left;
- bool m_token_produced;
-};
-
-// ************************************************************************** //
-// ************** basic_string_token_iterator ************** //
-// ************************************************************************** //
-
-template<typename CharT,
- typename CharCompare = ut_detail::default_char_compare<CharT> >
-class basic_string_token_iterator
-: public token_iterator_base<basic_string_token_iterator<CharT,CharCompare>,CharT,CharCompare> {
- typedef basic_cstring<CharT const> cstring;
- typedef token_iterator_base<basic_string_token_iterator<CharT,CharCompare>,CharT,CharCompare> base;
-public:
- explicit basic_string_token_iterator() {}
- explicit basic_string_token_iterator( cstring src )
- : m_src( src )
- {
- this->init();
- }
-
- template<typename Src, typename Modifier>
- basic_string_token_iterator( Src src, Modifier const& m )
- : m_src( src )
- {
- this->apply_modifier( m );
-
- this->init();
- }
-
-private:
- friend class input_iterator_core_access;
-
- // input iterator implementation
- bool get()
- {
- typename cstring::iterator begin = m_src.begin();
- bool res = base::get( begin, m_src.end() );
-
- m_src.assign( begin, m_src.end() );
-
- return res;
- }
-
- // Data members
- cstring m_src;
-};
-
-typedef basic_string_token_iterator<char> string_token_iterator;
-typedef basic_string_token_iterator<wchar_t> wstring_token_iterator;
-
-// ************************************************************************** //
-// ************** range_token_iterator ************** //
-// ************************************************************************** //
-
-template<typename Iter,
- typename CharCompare = ut_detail::default_char_compare<BOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
- typename ValueType = std::basic_string<BOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
- typename Reference = ValueType const&>
-class range_token_iterator
-: public token_iterator_base<range_token_iterator<Iter,CharCompare,ValueType,Reference>,
- typename iterator_value<Iter>::type,CharCompare,ValueType,Reference> {
- typedef basic_cstring<typename ValueType::value_type> cstring;
- typedef token_iterator_base<range_token_iterator<Iter,CharCompare,ValueType,Reference>,
- typename iterator_value<Iter>::type,CharCompare,ValueType,Reference> base;
-public:
- explicit range_token_iterator() {}
- explicit range_token_iterator( Iter begin, Iter end = Iter() )
- : m_begin( begin ), m_end( end )
- {
- this->init();
- }
- range_token_iterator( range_token_iterator const& rhs )
- : base( rhs )
- {
- if( this->m_valid ) {
- m_begin = rhs.m_begin;
- m_end = rhs.m_end;
- }
- }
-
- template<typename Modifier>
- range_token_iterator( Iter begin, Iter end, Modifier const& m )
- : m_begin( begin ), m_end( end )
- {
- this->apply_modifier( m );
-
- this->init();
- }
-
-private:
- friend class input_iterator_core_access;
-
- // input iterator implementation
- bool get()
- {
- return base::get( m_begin, m_end );
- }
-
- // Data members
- Iter m_begin;
- Iter m_end;
-};
-
-// ************************************************************************** //
-// ************** make_range_token_iterator ************** //
-// ************************************************************************** //
-
-template<typename Iter>
-inline range_token_iterator<Iter>
-make_range_token_iterator( Iter begin, Iter end = Iter() )
-{
- return range_token_iterator<Iter>( begin, end );
-}
-
-//____________________________________________________________________________//
-
-template<typename Iter,typename Modifier>
-inline range_token_iterator<Iter>
-make_range_token_iterator( Iter begin, Iter end, Modifier const& m )
-{
- return range_token_iterator<Iter>( begin, end, m );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TOKEN_ITERATOR_HPP_071894GER
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/lazy_ostream.hpp b/src/third_party/boost-1.56.0/boost/test/utils/lazy_ostream.hpp
deleted file mode 100644
index 87d96602f95..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/lazy_ostream.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : contains definition for all test tools in test toolbox
-// ***************************************************************************
-
-#ifndef BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
-#define BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// STL
-#include <iosfwd>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** lazy_ostream ************** //
-// ************************************************************************** //
-
-namespace boost {
-
-namespace unit_test {
-
-class lazy_ostream {
-public:
- static lazy_ostream& instance() { static lazy_ostream inst; return inst; }
-
- friend std::ostream& operator<<( std::ostream& ostr, lazy_ostream const& o ) { return o( ostr ); }
-
- // access method
- bool empty() const { return m_empty; }
-
- // actual printing interface; to be accessed only by this class and children
- virtual std::ostream& operator()( std::ostream& ostr ) const { return ostr; }
-protected:
- explicit lazy_ostream( bool empty = true ) : m_empty( empty ) {}
-
- // protected destructor to make sure right one is called
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-public:
-#endif
- BOOST_TEST_PROTECTED_VIRTUAL ~lazy_ostream() {}
-
-private:
- // Data members
- bool m_empty;
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-class lazy_ostream_impl : public lazy_ostream {
-public:
- lazy_ostream_impl( lazy_ostream const& prev, T value )
- : lazy_ostream( false )
- , m_prev( prev )
- , m_value( value )
- {}
-private:
- virtual std::ostream& operator()( std::ostream& ostr ) const
- {
- return m_prev(ostr) << m_value;
- }
-
- // Data members
- lazy_ostream const& m_prev;
- T m_value;
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline lazy_ostream_impl<T const&>
-operator<<( lazy_ostream const& prev, T const& v )
-{
- return lazy_ostream_impl<T const&>( prev, v );
-}
-
-//____________________________________________________________________________//
-
-#if BOOST_TEST_USE_STD_LOCALE
-
-template<typename R,typename S>
-inline lazy_ostream_impl<R& (BOOST_TEST_CALL_DECL *)(S&)>
-operator<<( lazy_ostream const& prev, R& (BOOST_TEST_CALL_DECL *man)(S&) )
-{
- return lazy_ostream_impl<R& (BOOST_TEST_CALL_DECL *)(S&)>( prev, man );
-}
-
-//____________________________________________________________________________//
-
-#endif
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/named_params.hpp b/src/third_party/boost-1.56.0/boost/test/utils/named_params.hpp
deleted file mode 100644
index 0a6277ce124..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/named_params.hpp
+++ /dev/null
@@ -1,329 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : facilities for named function parameters support
-// ***************************************************************************
-
-#ifndef BOOST_TEST_NAMED_PARAM_022505GER
-#define BOOST_TEST_NAMED_PARAM_022505GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-#include <boost/test/utils/assign_op.hpp>
-
-#include <boost/type_traits/remove_reference.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace nfp { // named function parameters
-
-// ************************************************************************** //
-// ************** forward declarations ************** //
-// ************************************************************************** //
-
-template<typename T, typename unique_id,typename RefType> struct named_parameter;
-template<typename unique_id,bool required> struct keyword;
-
-namespace nfp_detail {
-
-template<typename NP1,typename NP2> struct named_parameter_combine;
-
-// ************************************************************************** //
-// ************** access_to_invalid_parameter ************** //
-// ************************************************************************** //
-
-struct access_to_invalid_parameter {};
-
-//____________________________________________________________________________//
-
-inline void
-report_access_to_invalid_parameter()
-{
- throw access_to_invalid_parameter();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** nil ************** //
-// ************************************************************************** //
-
-struct nil {
- template<typename T>
-#if defined(__GNUC__) || defined(__HP_aCC) || defined(__EDG__) || defined(__SUNPRO_CC)
- operator T() const
-#else
- operator T const&() const
-#endif
- { report_access_to_invalid_parameter(); static T* v = 0; return *v; }
-
- template<typename T>
- T any_cast() const
- { report_access_to_invalid_parameter(); static typename remove_reference<T>::type* v = 0; return *v; }
-
- template<typename Arg1>
- nil operator()( Arg1 const& )
- { report_access_to_invalid_parameter(); return nil(); }
-
- template<typename Arg1,typename Arg2>
- nil operator()( Arg1 const&, Arg2 const& )
- { report_access_to_invalid_parameter(); return nil(); }
-
- template<typename Arg1,typename Arg2,typename Arg3>
- nil operator()( Arg1 const&, Arg2 const&, Arg3 const& )
- { report_access_to_invalid_parameter(); return nil(); }
-
- // Visitation support
- template<typename Visitor>
- void apply_to( Visitor& V ) const {}
-
- static nil& inst() { static nil s_inst; return s_inst; }
-private:
- nil() {}
-};
-
-// ************************************************************************** //
-// ************** named_parameter_base ************** //
-// ************************************************************************** //
-
-template<typename Derived>
-struct named_parameter_base {
- template<typename NP>
- named_parameter_combine<NP,Derived>
- operator,( NP const& np ) const { return named_parameter_combine<NP,Derived>( np, *static_cast<Derived const*>(this) ); }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** named_parameter_combine ************** //
-// ************************************************************************** //
-
-template<typename NP, typename Rest = nil>
-struct named_parameter_combine
-: Rest
-, named_parameter_base<named_parameter_combine<NP,Rest> > {
- typedef typename NP::ref_type res_type;
- typedef named_parameter_combine<NP,Rest> self_type;
-
- // Constructor
- named_parameter_combine( NP const& np, Rest const& r )
- : Rest( r )
- , m_param( np )
- {}
-
- // Access methods
- res_type operator[]( keyword<typename NP::id,true> kw ) const { return m_param[kw]; }
- res_type operator[]( keyword<typename NP::id,false> kw ) const { return m_param[kw]; }
- using Rest::operator[];
-
- bool has( keyword<typename NP::id,false> kw ) const { return m_param.has( kw ); }
- using Rest::has;
-
- void erase( keyword<typename NP::id,false> kw ) const { m_param.erase( kw ); }
- using Rest::erase;
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) || \
- BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0610))
- template<typename NP>
- named_parameter_combine<NP,self_type> operator,( NP const& np ) const
- { return named_parameter_combine<NP,self_type>( np, *this ); }
-#else
- using named_parameter_base<named_parameter_combine<NP,Rest> >::operator,;
-#endif
-
- // Visitation support
- template<typename Visitor>
- void apply_to( Visitor& V ) const
- {
- m_param.apply_to( V );
-
- Rest::apply_to( V );
- }
-private:
- // Data members
- NP m_param;
-};
-
-} // namespace nfp_detail
-
-// ************************************************************************** //
-// ************** named_parameter ************** //
-// ************************************************************************** //
-
-template<typename T, typename unique_id,typename ReferenceType=T&>
-struct named_parameter
-: nfp_detail::named_parameter_base<named_parameter<T, unique_id,ReferenceType> >
-{
- typedef nfp_detail::nil nil_t;
- typedef T data_type;
- typedef ReferenceType ref_type;
- typedef unique_id id;
-
- // Constructor
- explicit named_parameter( ref_type v )
- : m_value( v )
- , m_erased( false )
- {}
- named_parameter( named_parameter const& np )
- : m_value( np.m_value )
- , m_erased( np.m_erased )
- {}
-
- // Access methods
- ref_type operator[]( keyword<unique_id,true> ) const { return m_erased ? nil_t::inst().template any_cast<ref_type>() : m_value; }
- ref_type operator[]( keyword<unique_id,false> ) const { return m_erased ? nil_t::inst().template any_cast<ref_type>() : m_value; }
- template<typename UnknownId>
- nil_t operator[]( keyword<UnknownId,false> ) const { return nil_t::inst(); }
-
- bool has( keyword<unique_id,false> ) const { return !m_erased; }
- template<typename UnknownId>
- bool has( keyword<UnknownId,false> ) const { return false; }
-
- void erase( keyword<unique_id,false> ) const { m_erased = true; }
- template<typename UnknownId>
- void erase( keyword<UnknownId,false> ) const {}
-
- // Visitation support
- template<typename Visitor>
- void apply_to( Visitor& V ) const
- {
- V.set_parameter( rtti::type_id<unique_id>(), m_value );
- }
-
-private:
- // Data members
- ref_type m_value;
- mutable bool m_erased;
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** no_params ************** //
-// ************************************************************************** //
-
-namespace nfp_detail {
-typedef named_parameter<char, struct no_params_type_t,char> no_params_type;
-} // namespace nfp_detail
-
-namespace {
-nfp_detail::no_params_type no_params( '\0' );
-} // local namespace
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** keyword ************** //
-// ************************************************************************** //
-
-template<typename unique_id, bool required = false>
-struct keyword {
- typedef unique_id id;
-
- template<typename T>
- named_parameter<T const,unique_id>
- operator=( T const& t ) const { return named_parameter<T const,unique_id>( t ); }
-
- template<typename T>
- named_parameter<T,unique_id>
- operator=( T& t ) const { return named_parameter<T,unique_id>( t ); }
-
- named_parameter<char const*,unique_id,char const*>
- operator=( char const* t ) const { return named_parameter<char const*,unique_id,char const*>( t ); }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** typed_keyword ************** //
-// ************************************************************************** //
-
-template<typename T, typename unique_id, bool required = false>
-struct typed_keyword : keyword<unique_id,required> {
- named_parameter<T const,unique_id>
- operator=( T const& t ) const { return named_parameter<T const,unique_id>( t ); }
-
- named_parameter<T,unique_id>
- operator=( T& t ) const { return named_parameter<T,unique_id>( t ); }
-};
-
-//____________________________________________________________________________//
-
-template<typename unique_id>
-struct typed_keyword<bool,unique_id,false>
-: keyword<unique_id,false>
-, named_parameter<bool,unique_id,bool> {
- typedef unique_id id;
-
- typed_keyword() : named_parameter<bool,unique_id,bool>( true ) {}
-
- named_parameter<bool,unique_id,bool>
- operator!() const { return named_parameter<bool,unique_id,bool>( false ); }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// ************** optionally_assign ************** //
-// ************************************************************************** //
-
-template<typename T>
-inline void
-optionally_assign( T&, nfp_detail::nil )
-{
- nfp_detail::report_access_to_invalid_parameter();
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename Source>
-inline void
-#if BOOST_WORKAROUND( __MWERKS__, BOOST_TESTED_AT( 0x3003 ) ) \
- || BOOST_WORKAROUND( __DECCXX_VER, BOOST_TESTED_AT(60590042) )
-optionally_assign( T& target, Source src )
-#else
-optionally_assign( T& target, Source const& src )
-#endif
-{
- using namespace unit_test;
-
- assign_op( target, src, static_cast<int>(0) );
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename Params, typename Keyword>
-inline void
-optionally_assign( T& target, Params const& p, Keyword k )
-{
- if( p.has(k) )
- optionally_assign( target, p[k] );
-}
-
-//____________________________________________________________________________//
-
-} // namespace nfp
-
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_NAMED_PARAM_022505GER
-
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/rtti.hpp b/src/third_party/boost-1.56.0/boost/test/utils/rtti.hpp
deleted file mode 100644
index f795a2cbe49..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/rtti.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : simple facilities for accessing type information at runtime
-// ***************************************************************************
-
-#ifndef BOOST_TEST_RTTI_HPP_062604GER
-#define BOOST_TEST_RTTI_HPP_062604GER
-
-#include <cstddef>
-
-namespace boost {
-
-namespace rtti {
-
-// ************************************************************************** //
-// ************** rtti::type_id ************** //
-// ************************************************************************** //
-
-typedef std::ptrdiff_t id_t;
-
-namespace rtti_detail {
-
-template<typename T>
-struct rttid_holder {
- static id_t id() { return reinterpret_cast<id_t>( &inst() ); }
-
-private:
- struct rttid {};
-
- static rttid const& inst() { static rttid s_inst; return s_inst; }
-};
-
-} // namespace rtti_detail
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline id_t
-type_id()
-{
- return rtti_detail::rttid_holder<T>::id();
-}
-
-//____________________________________________________________________________//
-
-#define BOOST_RTTI_SWITCH( type_id_ ) if( ::boost::rtti::id_t switch_by_id = type_id_ )
-#define BOOST_RTTI_CASE( type ) if( switch_by_id == ::boost::rtti::type_id<type>() )
-
-//____________________________________________________________________________//
-
-} // namespace rtti
-
-} // namespace boost
-
-#endif // BOOST_RT_RTTI_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/argument.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/argument.hpp
deleted file mode 100644
index d0f420aab74..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/argument.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : model of actual argument (both typed and abstract interface)
-// ***************************************************************************
-
-#ifndef BOOST_RT_ARGUMENT_HPP_062604GER
-#define BOOST_RT_ARGUMENT_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/rtti.hpp>
-
-// STL
-#include <cassert>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// ************** runtime::argument ************** //
-// ************************************************************************** //
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable:4244)
-#endif
-
-class argument {
-public:
- // Constructor
- argument( parameter const& p, rtti::id_t value_type )
- : p_formal_parameter( p )
- , p_value_type( value_type )
- {}
-
- // Destructor
- virtual ~argument() {}
-
- // Public properties
- unit_test::readonly_property<parameter const&> p_formal_parameter;
- unit_test::readonly_property<rtti::id_t> p_value_type;
-};
-
-// ************************************************************************** //
-// ************** runtime::typed_argument ************** //
-// ************************************************************************** //
-
-template<typename T>
-class typed_argument : public argument {
-public:
- // Constructor
- explicit typed_argument( parameter const& p )
- : argument( p, rtti::type_id<T>() )
- {}
- typed_argument( parameter const& p, T const& t )
- : argument( p, rtti::type_id<T>() )
- , p_value( t )
- {}
-
- unit_test::readwrite_property<T> p_value;
-};
-
-// ************************************************************************** //
-// ************** runtime::arg_value ************** //
-// ************************************************************************** //
-
-template<typename T>
-inline T const&
-arg_value( argument const& arg_ )
-{
- assert( arg_.p_value_type == rtti::type_id<T>() ); // detect logic error
-
- return static_cast<typed_argument<T> const&>( arg_ ).p_value.value;
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline T&
-arg_value( argument& arg_ )
-{
- assert( arg_.p_value_type == rtti::type_id<T>() ); // detect logic error
-
- return static_cast<typed_argument<T>&>( arg_ ).p_value.value;
-}
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ARGUMENT_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argument_factory.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argument_factory.hpp
deleted file mode 100644
index 19ccc08c0f1..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argument_factory.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : generic typed_argument_factory implementation
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
-#define BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-#include <boost/test/utils/runtime/trace.hpp>
-#include <boost/test/utils/runtime/interpret_argument_value.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/value_generator.hpp>
-#include <boost/test/utils/runtime/cla/value_handler.hpp>
-#include <boost/test/utils/runtime/cla/validation.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-#include <boost/test/utils/runtime/cla/detail/argument_value_usage.hpp>
-
-#include <boost/test/utils/runtime/cla/iface/argument_factory.hpp>
-
-// Boost.Test
-#include <boost/test/utils/callback.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** default_value_interpreter ************** //
-// ************************************************************************** //
-
-namespace rt_cla_detail {
-
-struct default_value_interpreter {
- template<typename T>
- void operator()( argv_traverser& tr, boost::optional<T>& value )
- {
- if( interpret_argument_value( tr.token(), value, 0 ) )
- tr.next_token();
- }
-};
-
-} // namespace rt_cla_detail
-
-// ************************************************************************** //
-// ************** typed_argument_factory ************** //
-// ************************************************************************** //
-
-template<typename T>
-struct typed_argument_factory : public argument_factory {
- // Constructor
- typed_argument_factory()
- : m_value_interpreter( rt_cla_detail::default_value_interpreter() )
- {}
- BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~typed_argument_factory() {}
-
- // properties modification
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- optionally_assign( m_value_handler, m, handler );
- optionally_assign( m_value_interpreter, m, interpreter );
-
- if( m.has( default_value ) ) {
- BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator,
- BOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
-
- T const& dv_ref = m[default_value];
- m_value_generator = rt_cla_detail::const_generator<T>( dv_ref );
- }
-
- if( m.has( default_refer_to ) ) {
- BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator,
- BOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
-
- cstring ref_id = m[default_refer_to];
- m_value_generator = rt_cla_detail::ref_generator<T>( ref_id );
- }
-
- if( m.has( assign_to ) ) {
- BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_handler,
- BOOST_RT_PARAM_LITERAL( "multiple value handlers for parameter" ) );
-
- m_value_handler = rt_cla_detail::assigner<T>( m[assign_to] );
- }
- }
-
- // Argument factory implementation
- virtual argument_ptr produce_using( parameter& p, argv_traverser& tr );
- virtual argument_ptr produce_using( parameter& p, parser const& );
- virtual void argument_usage_info( format_stream& fs );
-
-// !! private?
- // Data members
- unit_test::callback2<parameter const&,T&> m_value_handler;
- unit_test::callback2<parser const&,boost::optional<T>&> m_value_generator;
- unit_test::callback2<argv_traverser&,boost::optional<T>&> m_value_interpreter;
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline argument_ptr
-typed_argument_factory<T>::produce_using( parameter& p, argv_traverser& tr )
-{
- boost::optional<T> value;
-
- try {
- m_value_interpreter( tr, value );
- }
- catch( ... ) { // !! should we do that?
- BOOST_RT_PARAM_TRACE( "Fail to parse argument value" );
-
- if( !p.p_optional_value )
- throw;
- }
-
- argument_ptr actual_arg = p.actual_argument();
-
- BOOST_RT_CLA_VALIDATE_INPUT( !!value || p.p_optional_value, tr,
- BOOST_RT_PARAM_LITERAL( "Argument value missing for parameter " ) << p.id_2_report() );
-
- BOOST_RT_CLA_VALIDATE_INPUT( !actual_arg || p.p_multiplicable, tr,
- BOOST_RT_PARAM_LITERAL( "Unexpected repetition of the parameter " ) << p.id_2_report() );
-
- if( !!value && !!m_value_handler )
- m_value_handler( p, *value );
-
- if( !p.p_multiplicable )
- actual_arg.reset( p.p_optional_value && (rtti::type_id<T>() != rtti::type_id<bool>())
- ? static_cast<argument*>(new typed_argument<boost::optional<T> >( p, value ))
- : static_cast<argument*>(new typed_argument<T>( p, *value )) );
- else {
- typedef std::list<boost::optional<T> > optional_list;
-
- if( !actual_arg )
- actual_arg.reset( p.p_optional_value
- ? static_cast<argument*>(new typed_argument<optional_list>( p ))
- : static_cast<argument*>(new typed_argument<std::list<T> >( p )) );
-
- if( p.p_optional_value ) {
- optional_list& values = arg_value<optional_list>( *actual_arg );
-
- values.push_back( value );
- }
- else {
- std::list<T>& values = arg_value<std::list<T> >( *actual_arg );
-
- values.push_back( *value );
- }
- }
-
- return actual_arg;
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline argument_ptr
-typed_argument_factory<T>::produce_using( parameter& p, parser const& pa )
-{
- argument_ptr actual_arg;
-
- if( !m_value_generator )
- return actual_arg;
-
- boost::optional<T> value;
- m_value_generator( pa, value );
-
- if( !value )
- return actual_arg;
-
- if( !!m_value_handler )
- m_value_handler( p, *value );
-
- actual_arg.reset( new typed_argument<T>( p, *value ) );
-
- return actual_arg;
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline void
-typed_argument_factory<T>::argument_usage_info( format_stream& fs )
-{
- rt_cla_detail::argument_value_usage( fs, 0, reinterpret_cast<T*>(0) );
-}
-
-//____________________________________________________________________________//
-
-} // namespace boost
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace cla
-
-#endif // BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.hpp
deleted file mode 100644
index 58cf2fe5f77..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines facility to hide input traversing details
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
-#define BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-
-// Boost
-#include <boost/noncopyable.hpp>
-#include <boost/shared_array.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::argv_traverser ************** //
-// ************************************************************************** //
-
-class argv_traverser : noncopyable {
- class parser;
-public:
- // Constructor
- argv_traverser();
-
- // public_properties
- unit_test::readwrite_property<bool> p_ignore_mismatch;
- unit_test::readwrite_property<char_type> p_separator;
-
- // argc+argv <-> internal buffer exchange
- void init( int argc, char_type** argv );
- void remainder( int& argc, char_type** argv );
-
- // token based parsing
- cstring token() const;
- void next_token();
-
- // whole input parsing
- cstring input() const;
- void trim( std::size_t size );
- bool match_front( cstring );
- bool match_front( char_type c );
- bool eoi() const;
-
- // transaction logic support
- void commit();
- void rollback();
-
- // current position access; used to save some reference points in input
- std::size_t input_pos() const;
-
- // returns true if mismatch detected during input parsing handled successfully
- bool handle_mismatch();
-
-private:
- // Data members
- dstring m_buffer;
- cstring m_work_buffer;
-
- cstring m_token;
- cstring::iterator m_commited_end;
-
- shared_array<char_type> m_remainder;
- std::size_t m_remainder_size;
-};
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/argv_traverser.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.ipp
deleted file mode 100644
index 2b5e3818b3b..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/argv_traverser.ipp
+++ /dev/null
@@ -1,209 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : implements facility to hide input traversing details
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
-#define BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/trace.hpp>
-
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-// STL
-#include <memory>
-#include <cstring>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::memcpy; }
-#endif
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::argv_traverser ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-argv_traverser::argv_traverser()
-: p_ignore_mismatch( false ), p_separator( BOOST_RT_PARAM_LITERAL( ' ' ) )
-{
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::init( int argc, char_type** argv )
-{
- for( int index = 1; index < argc; ++index ) {
- m_buffer += argv[index];
- if( index != argc-1 )
- m_buffer += BOOST_RT_PARAM_LITERAL( ' ' );
- }
-
- m_remainder.reset( new char_type[m_buffer.size()+1] );
- m_remainder_size = 0;
- m_work_buffer = m_buffer;
- m_commited_end = m_work_buffer.begin();
-
- BOOST_RT_PARAM_TRACE( "Input buffer: " << m_buffer );
-
- next_token();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::remainder( int& argc, char_type** argv )
-{
- argc = 1;
- std::size_t pos = 0;
- while(pos < m_remainder_size ) {
- argv[argc++] = m_remainder.get() + pos;
-
- pos = std::find( m_remainder.get() + pos, m_remainder.get() + m_remainder_size,
- BOOST_RT_PARAM_LITERAL( ' ' ) ) - m_remainder.get();
- m_remainder[pos++] = BOOST_RT_PARAM_LITERAL( '\0' );
- }
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE cstring
-argv_traverser::token() const
-{
- return m_token;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::next_token()
-{
- if( m_work_buffer.is_empty() )
- return;
-
- m_work_buffer.trim_left( m_token.size() ); // skip remainder of current token
-
- if( m_work_buffer.size() != m_buffer.size() ) // !! is there a better way to identify first token
- m_work_buffer.trim_left( 1 ); // skip separator if not first token;
-
- m_token.assign( m_work_buffer.begin(),
- std::find( m_work_buffer.begin(), m_work_buffer.end(), p_separator ) );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE cstring
-argv_traverser::input() const
-{
- return m_work_buffer;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::trim( std::size_t size )
-{
- m_work_buffer.trim_left( size );
-
- if( size <= m_token.size() )
- m_token.trim_left( size );
- else {
- m_token.assign( m_work_buffer.begin(),
- std::find( m_work_buffer.begin(), m_work_buffer.end(), p_separator ) );
- }
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::match_front( cstring str )
-{
- return m_work_buffer.size() < str.size() ? false : m_work_buffer.substr( 0, str.size() ) == str;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::match_front( char_type c )
-{
- return first_char( m_work_buffer ) == c;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::eoi() const
-{
- return m_work_buffer.is_empty();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::commit()
-{
- m_commited_end = m_work_buffer.begin();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::rollback()
-{
- m_work_buffer.assign( m_commited_end, m_work_buffer.end() );
- m_token.assign( m_work_buffer.begin(),
- std::find( m_work_buffer.begin(), m_work_buffer.end(), p_separator ) );
-
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE std::size_t
-argv_traverser::input_pos() const
-{
- return m_work_buffer.begin() - m_commited_end;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::handle_mismatch()
-{
- if( !p_ignore_mismatch )
- return false;
-
- std::memcpy( m_remainder.get() + m_remainder_size, token().begin(), token().size() );
- m_remainder_size += token().size();
- m_remainder[m_remainder_size++] = p_separator;
-
- next_token();
- commit();
-
- return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/basic_parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/basic_parameter.hpp
deleted file mode 100644
index 8b826bba0a5..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/basic_parameter.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : generic custom parameter generator
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/typed_parameter.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-
-// Boost
-#include <boost/utility/base_from_member.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::basic_parameter ************** //
-// ************************************************************************** //
-
-template<typename T, typename IdPolicy>
-class basic_parameter : private base_from_member<IdPolicy>, public typed_parameter<T> {
-public:
- // Constructors
- explicit basic_parameter( cstring n )
- : base_from_member<IdPolicy>()
- , typed_parameter<T>( base_from_member<IdPolicy>::member )
- {
- this->accept_modifier( name = n );
- }
-
- // parameter properties modification
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- typed_parameter<T>::accept_modifier( m );
-
- base_from_member<IdPolicy>::member.accept_modifier( m );
- }
-};
-
-//____________________________________________________________________________//
-
-#define BOOST_RT_CLA_NAMED_PARAM_GENERATORS( param_type ) \
-template<typename T> \
-inline shared_ptr<param_type ## _t<T> > \
-param_type( cstring name = cstring() ) \
-{ \
- return shared_ptr<param_type ## _t<T> >( new param_type ## _t<T>( name ) ); \
-} \
- \
-inline shared_ptr<param_type ## _t<cstring> > \
-param_type( cstring name = cstring() ) \
-{ \
- return shared_ptr<param_type ## _t<cstring> >( new param_type ## _t<cstring>( name ) ); \
-} \
-/**/
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.hpp
deleted file mode 100644
index 425c24f3f96..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines model of parameter with single char name
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/basic_parameter.hpp>
-#include <boost/test/utils/runtime/cla/id_policy.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** char_name_policy ************** //
-// ************************************************************************** //
-
-class char_name_policy : public basic_naming_policy {
-public:
- // Constructor
- char_name_policy();
- BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~char_name_policy() {}
-
- // policy interface
- virtual bool conflict_with( identification_policy const& ) const;
-
- // Accept modifier
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- basic_naming_policy::accept_modifier( m );
-
- BOOST_RT_PARAM_VALIDATE_LOGIC( p_name->size() <= 1, "Invalid parameter name " << p_name );
- }
-};
-
-// ************************************************************************** //
-// ************** runtime::cla::char_parameter ************** //
-// ************************************************************************** //
-
-template<typename T>
-class char_parameter_t : public basic_parameter<T,char_name_policy> {
- typedef basic_parameter<T,char_name_policy> base;
-public:
- // Constructors
- explicit char_parameter_t( char_type name ) : base( cstring( &name, 1 ) ) {}
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline shared_ptr<char_parameter_t<T> >
-char_parameter( char_type name )
-{
- return shared_ptr<char_parameter_t<T> >( new char_parameter_t<T>( name ) );
-}
-
-//____________________________________________________________________________//
-
-inline shared_ptr<char_parameter_t<cstring> >
-char_parameter( char_type name )
-{
- return shared_ptr<char_parameter_t<cstring> >( new char_parameter_t<cstring>( name ) );
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/char_parameter.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.ipp
deleted file mode 100644
index db4d0c1ed1e..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/char_parameter.ipp
+++ /dev/null
@@ -1,57 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : implements model of parameter with single char name
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/char_parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** char_name_policy ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-char_name_policy::char_name_policy()
-: basic_naming_policy( rtti::type_id<char_name_policy>() )
-{
- assign_op( p_prefix.value, BOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-char_name_policy::conflict_with( identification_policy const& id ) const
-{
- return id.p_type_id == p_type_id &&
- p_name == static_cast<char_name_policy const&>( id ).p_name;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
deleted file mode 100644
index 0d595956120..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied warranty,
-// and with no claim as to its suitability for any purpose.
-
-// See http://www.boost.org for updates, documentation, and revision history.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : argument usage printing helpers
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
-#define BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/basic_cstring/compare.hpp>
-
-#include <boost/lexical_cast.hpp>
-
-// STL
-// !! can we eliminate these includes?
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-namespace rt_cla_detail {
-
-// ************************************************************************** //
-// ************** argument_value_usage ************** //
-// ************************************************************************** //
-
-// generic case
-template<typename T>
-inline void
-argument_value_usage( format_stream& fs, long, T* = 0 )
-{
- fs << BOOST_RT_PARAM_CSTRING_LITERAL( "<value>" );
-}
-
-//____________________________________________________________________________//
-
-// specialization for list of values
-template<typename T>
-inline void
-argument_value_usage( format_stream& fs, int, std::list<T>* = 0 )
-{
- fs << BOOST_RT_PARAM_CSTRING_LITERAL( "(<value1>, ..., <valueN>)" );
-}
-
-//____________________________________________________________________________//
-
-// specialization for type bool
-inline void
-argument_value_usage( format_stream& fs, int, bool* = 0 )
-{
- fs << BOOST_RT_PARAM_CSTRING_LITERAL( "yes|y|no|n" );
-}
-
-//____________________________________________________________________________//
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.hpp
deleted file mode 100644
index 26ac657c860..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines model of generic parameter with dual naming
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/named_parameter.hpp>
-#include <boost/test/utils/runtime/cla/char_parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** dual_name_policy ************** //
-// ************************************************************************** //
-
-class dual_name_policy : public dual_id_policy<dual_name_policy,string_name_policy,char_name_policy> {
-public:
- dual_name_policy();
-
- // Accept modifier
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- if( m.has( prefix ) ) {
- set_prefix( m[prefix] );
- m.erase( prefix );
- }
-
- if( m.has( name ) ) {
- set_name( m[name] );
- m.erase( name );
- }
-
- if( m.has( separator ) ) {
- set_separator( m[separator] );
- m.erase( separator );
- }
-
- dual_id_policy<dual_name_policy,string_name_policy,char_name_policy>::accept_modifier( m );
- }
-private:
- void set_prefix( cstring );
- void set_name( cstring );
- void set_separator( cstring );
-};
-
-// ************************************************************************** //
-// ************** runtime::cla::dual_name_parameter ************** //
-// ************************************************************************** //
-
-template<typename T>
-class dual_name_parameter_t : public basic_parameter<T,dual_name_policy> {
- typedef basic_parameter<T,dual_name_policy> base;
-public:
- // Constructors
- explicit dual_name_parameter_t( cstring name ) : base( name ) {}
-};
-
-//____________________________________________________________________________//
-
-BOOST_RT_CLA_NAMED_PARAM_GENERATORS( dual_name_parameter )
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/dual_name_parameter.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.ipp
deleted file mode 100644
index 6e3a37f58d9..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/dual_name_parameter.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : implements model of generic parameter with dual naming
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/dual_name_parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** dual_name_policy ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-dual_name_policy::dual_name_policy()
-{
- m_primary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "--" ) );
- m_secondary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "-" ) );
-}
-
-//____________________________________________________________________________//
-
-namespace {
-
-template<typename K>
-inline void
-split( string_name_policy& snp, char_name_policy& cnp, cstring src, K const& k )
-{
- cstring::iterator sep = std::find( src.begin(), src.end(), BOOST_RT_PARAM_LITERAL( '|' ) );
-
- if( sep != src.begin() )
- snp.accept_modifier( k = cstring( src.begin(), sep ) );
-
- if( sep != src.end() )
- cnp.accept_modifier( k = cstring( sep+1, src.end() ) );
-}
-
-} // local namespace
-
-BOOST_RT_PARAM_INLINE void
-dual_name_policy::set_prefix( cstring src )
-{
- split( m_primary, m_secondary, src, prefix );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-dual_name_policy::set_name( cstring src )
-{
- split( m_primary, m_secondary, src, name );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-dual_name_policy::set_separator( cstring src )
-{
- split( m_primary, m_secondary, src, separator );
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/fwd.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/fwd.hpp
deleted file mode 100644
index b5039339d8c..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/fwd.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : cla subsystem forward declarations
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_FWD_HPP_062604GER
-#define BOOST_RT_CLA_FWD_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-class parser;
-class parameter;
-typedef shared_ptr<parameter> parameter_ptr;
-class naming_policy;
-typedef shared_ptr<naming_policy> naming_policy_ptr;
-class argv_traverser;
-
-namespace rt_cla_detail {
-
-template<typename T> class const_generator;
-template<typename T> class ref_generator;
-
-template<typename T> class assigner;
-
-class named_parameter_base;
-class positional_parameter_base;
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_FWD_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.hpp
deleted file mode 100644
index 596805ea21c..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : some generic identification policies definition
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ID_POLICY_HPP_062604GER
-#define BOOST_RT_CLA_ID_POLICY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-#include <boost/test/utils/runtime/cla/iface/id_policy.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** naming_policy_base ************** //
-// ************************************************************************** //
-// model: <prefix> <name> <separtor>
-
-class basic_naming_policy : public identification_policy {
-public:
- // Public properties
- unit_test::readwrite_property<dstring> p_prefix;
- unit_test::readwrite_property<dstring> p_name;
- unit_test::readwrite_property<dstring> p_separator;
-
- // Policy interface
- virtual bool responds_to( cstring name ) const { return p_name == name; }
- virtual cstring id_2_report() const { return p_name.get(); }
- virtual void usage_info( format_stream& fs ) const;
- virtual bool matching( parameter const& p, argv_traverser& tr, bool primary ) const;
-
- // Accept modifier
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- nfp::optionally_assign( p_prefix.value, m, prefix );
- nfp::optionally_assign( p_name.value, m, name );
- nfp::optionally_assign( p_separator.value, m, separator );
- }
-
-protected:
- explicit basic_naming_policy( rtti::id_t dyn_type )
- : identification_policy( dyn_type )
- {}
- BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~basic_naming_policy() {}
-
- // Naming policy interface
- virtual bool match_prefix( argv_traverser& tr ) const;
- virtual bool match_name( argv_traverser& tr ) const;
- virtual bool match_separator( argv_traverser& tr, bool optional_value ) const;
-};
-
-// ************************************************************************** //
-// ************** dual_id_policy ************** //
-// ************************************************************************** //
-
-template<typename MostDerived,typename PrimaryId,typename SecondId>
-class dual_id_policy : public identification_policy {
-public:
- // Constructor
- dual_id_policy()
- : identification_policy( rtti::type_id<MostDerived>() )
- , m_primary()
- , m_secondary()
- {}
-
- // Policy interface
- virtual bool responds_to( cstring name ) const
- {
- return m_primary.responds_to( name ) || m_secondary.responds_to( name );
- }
- virtual bool conflict_with( identification_policy const& id_p ) const
- {
- return id_p.conflict_with( m_primary ) || id_p.conflict_with( m_secondary );
- }
- virtual cstring id_2_report() const
- {
- return m_primary.id_2_report();
- }
- virtual void usage_info( format_stream& fs ) const
- {
- fs << BOOST_RT_PARAM_LITERAL( '{' );
- m_primary.usage_info( fs );
- fs << BOOST_RT_PARAM_LITERAL( '|' );
- m_secondary.usage_info( fs );
- fs << BOOST_RT_PARAM_LITERAL( '}' );
- }
- virtual bool matching( parameter const& p, argv_traverser& tr, bool primary ) const
- {
- return m_primary.matching( p, tr, primary ) || m_secondary.matching( p, tr, primary );
- }
-
- // Accept modifier
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- m_primary.accept_modifier( m );
- m_secondary.accept_modifier( m );
- }
-
-protected:
- BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~dual_id_policy() {}
-
- // Data members
- PrimaryId m_primary;
- SecondId m_secondary;
-};
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/id_policy.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_ID_POLICY_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.ipp
deleted file mode 100644
index 5498b9a8d01..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/id_policy.ipp
+++ /dev/null
@@ -1,118 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : some generic identification policies implementation
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ID_POLICY_IPP_062904GER
-#define BOOST_RT_CLA_ID_POLICY_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/id_policy.hpp>
-#include <boost/test/utils/runtime/cla/parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** basic_naming_policy ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE void
-basic_naming_policy::usage_info( format_stream& fs ) const
-{
- fs << p_prefix << p_name << p_separator;
-
- if( p_separator->empty() )
- fs << BOOST_RT_PARAM_LITERAL( ' ' );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::match_prefix( argv_traverser& tr ) const
-{
- if( !tr.match_front( p_prefix.get() ) )
- return false;
-
- tr.trim( p_prefix->size() );
- return true;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::match_name( argv_traverser& tr ) const
-{
- if( !tr.match_front( p_name.get() ) )
- return false;
-
- tr.trim( p_name->size() );
- return true;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::match_separator( argv_traverser& tr, bool optional_value ) const
-{
- if( p_separator->empty() ) {
- if( !tr.token().is_empty() )
- return false;
-
- tr.trim( 1 );
- }
- else {
- if( !tr.match_front( p_separator.get() ) ) {
- // if parameter has optional value separator is optional as well
- if( optional_value && ( tr.eoi() || tr.match_front( ' ' ) ) ) {
- return true;
- }
- return false;
- }
-
- tr.trim( p_separator->size() );
- }
-
- return true;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::matching( parameter const& p, argv_traverser& tr, bool ) const
-{
- if( !match_prefix( tr ) )
- return false;
-
- if( !match_name( tr ) )
- return false;
-
- if( !match_separator( tr, p.p_optional_value ) )
- return false;
-
- return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_ID_POLICY_IPP_062904GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/argument_factory.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/argument_factory.hpp
deleted file mode 100644
index 03669e0cc03..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/argument_factory.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines interface for argument_factory
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
-#define BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** argument_factory ************** //
-// ************************************************************************** //
-// another name can be argument production policy
-
-class argument_factory {
-public:
- // Argument factory interface
- virtual argument_ptr produce_using( parameter& p, argv_traverser& tr ) = 0; /// produce argument based on input
- virtual argument_ptr produce_using( parameter& p, parser const& ) = 0; /// produce argument based on internal generator and/or values of other parameters
- virtual void argument_usage_info( format_stream& fs ) = 0; /// argument value format information
-protected:
- BOOST_TEST_PROTECTED_VIRTUAL ~argument_factory() {}
-};
-
-} // namespace boost
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace cla
-
-#endif // BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/id_policy.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/id_policy.hpp
deleted file mode 100644
index 1e2d684c251..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/iface/id_policy.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines interface for identification_policy
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
-#define BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** identification_policy ************** //
-// ************************************************************************** //
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable:4244)
-#endif
-
-class identification_policy {
-public:
- // Public properties
- unit_test::readwrite_property<rtti::id_t> p_type_id;
-
- // Policy interface
- virtual bool responds_to( cstring name ) const = 0;
- virtual cstring id_2_report() const = 0;
- virtual void usage_info( format_stream& fs ) const = 0;
- virtual bool matching( parameter const& p, argv_traverser& tr, bool primary ) const = 0;
-
- virtual bool conflict_with( identification_policy const& ) const = 0;
-
-protected:
- // Constructor
- explicit identification_policy( rtti::id_t dyn_type )
- : p_type_id( dyn_type )
- {}
- BOOST_TEST_PROTECTED_VIRTUAL ~identification_policy() {}
-};
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/modifier.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/modifier.hpp
deleted file mode 100644
index 08924e2f94c..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/modifier.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : parameter modifiers
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_MODIFIER_HPP_062604GER
-#define BOOST_RT_CLA_MODIFIER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/named_params.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** environment variable modifiers ************** //
-// ************************************************************************** //
-
-namespace {
-
-nfp::typed_keyword<bool,struct optional_t> optional_m;
-nfp::named_parameter<bool,optional_t,bool> optional( true );
-nfp::typed_keyword<bool,struct required_t> required_m;
-nfp::named_parameter<bool,required_t,bool> required( true );
-nfp::typed_keyword<bool,struct multiplicable_t> multiplicable_m;
-nfp::named_parameter<bool,multiplicable_t,bool> multiplicable( true );
-nfp::typed_keyword<bool,struct guess_name_t> guess_name_m;
-nfp::named_parameter<bool,guess_name_t,bool> guess_name( true );
-nfp::typed_keyword<bool,struct ignore_mismatch_t> ignore_mismatch_m;
-nfp::named_parameter<bool,ignore_mismatch_t,bool> ignore_mismatch( true );
-nfp::typed_keyword<bool,struct optional_value_t> optional_value_m;
-nfp::named_parameter<bool,optional_value_t,bool> optional_value( true );
-
-nfp::typed_keyword<char_type,struct input_separator_t> input_separator;
-nfp::typed_keyword<cstring,struct prefix_t> prefix;
-nfp::typed_keyword<cstring,struct name_t> name;
-nfp::typed_keyword<cstring,struct separator_t> separator;
-nfp::typed_keyword<cstring,struct description_t> description;
-nfp::typed_keyword<cstring,struct refer_to_t> default_refer_to;
-
-nfp::keyword<struct default_value_t> default_value;
-nfp::keyword<struct handler_t> handler;
-nfp::keyword<struct interpreter_t> interpreter;
-nfp::keyword<struct assign_to_t> assign_to;
-
-} // local namespace
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_MODIFIER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.hpp
deleted file mode 100644
index 9f0ac1dae05..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines model of named parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/basic_parameter.hpp>
-#include <boost/test/utils/runtime/cla/id_policy.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** string_name_policy ************** //
-// ************************************************************************** //
-
-class string_name_policy : public basic_naming_policy {
-public:
- // Constructor
- string_name_policy();
- BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~string_name_policy() {}
-
- // policy interface
- virtual bool responds_to( cstring name ) const;
- virtual bool conflict_with( identification_policy const& ) const;
-
- // Accept modifier
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- basic_naming_policy::accept_modifier( m );
-
- if( m.has( guess_name_m ) )
- m_guess_name = true;
- }
-
-private:
- // Naming policy interface
- virtual bool match_name( argv_traverser& tr ) const;
-
- // Data members
- bool m_guess_name;
-};
-
-// ************************************************************************** //
-// ************** runtime::cla::named_parameter ************** //
-// ************************************************************************** //
-
-template<typename T>
-class named_parameter_t : public basic_parameter<T,string_name_policy> {
- typedef basic_parameter<T,string_name_policy> base;
-public:
- // Constructors
- explicit named_parameter_t( cstring name ) : base( name ) {}
-};
-
-//____________________________________________________________________________//
-
-BOOST_RT_CLA_NAMED_PARAM_GENERATORS( named_parameter )
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/named_parameter.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.ipp
deleted file mode 100644
index e04348f53b7..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/named_parameter.ipp
+++ /dev/null
@@ -1,129 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : implements model of named parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/named_parameter.hpp>
-#include <boost/test/utils/runtime/cla/char_parameter.hpp>
-
-// Boost.Test
-#include <boost/test/utils/algorithm.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** string_name_policy ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-string_name_policy::string_name_policy()
-: basic_naming_policy( rtti::type_id<string_name_policy>() )
-, m_guess_name( false )
-{
- assign_op( p_prefix.value, BOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-string_name_policy::responds_to( cstring name ) const
-{
- std::pair<cstring::iterator,dstring::const_iterator> mm_pos;
-
- mm_pos = unit_test::mismatch( name.begin(), name.end(), p_name->begin(), p_name->end() );
-
- return mm_pos.first == name.end() && (m_guess_name || (mm_pos.second == p_name->end()) );
-}
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable:4244)
-#endif
-
-BOOST_RT_PARAM_INLINE bool
-string_name_policy::conflict_with( identification_policy const& id ) const
-{
- if( id.p_type_id == p_type_id ) {
- string_name_policy const& snp = static_cast<string_name_policy const&>( id );
-
- if( p_name->empty() || snp.p_name->empty() )
- return false;
-
- if( p_prefix != snp.p_prefix )
- return false;
-
- std::pair<dstring::const_iterator,dstring::const_iterator> mm_pos =
- unit_test::mismatch( p_name->begin(), p_name->end(), snp.p_name->begin(), snp.p_name->end() );
-
- return mm_pos.first != p_name->begin() && // there is common substring
- ((m_guess_name && (mm_pos.second == snp.p_name->end()) ) || // that match other guy and I am guessing
- (snp.m_guess_name && (mm_pos.first == p_name->end()) )); // or me and the other guy is
- }
-
- if( id.p_type_id == rtti::type_id<char_name_policy>() ) {
- char_name_policy const& cnp = static_cast<char_name_policy const&>( id );
-
- return m_guess_name &&
- (p_prefix == cnp.p_prefix) &&
- unit_test::first_char( cstring( p_name ) ) == unit_test::first_char( cstring( cnp.p_name ) );
- }
-
- return false;
-}
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-string_name_policy::match_name( argv_traverser& tr ) const
-{
- if( !m_guess_name )
- return basic_naming_policy::match_name( tr );
-
- cstring in = tr.input();
-
- std::pair<cstring::iterator,dstring::const_iterator> mm_pos;
-
- mm_pos = unit_test::mismatch( in.begin(), in.end(), p_name->begin(), p_name->end() );
-
- if( mm_pos.first == in.begin() )
- return false;
-
- tr.trim( mm_pos.first - in.begin() );
-
- return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parameter.hpp
deleted file mode 100644
index 25680db0879..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parameter.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines model of formal parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/parameter.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/iface/argument_factory.hpp>
-#include <boost/test/utils/runtime/cla/iface/id_policy.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::parameter ************** //
-// ************************************************************************** //
-
-class parameter : public BOOST_RT_PARAM_NAMESPACE::parameter {
-public:
- parameter( identification_policy& ID, argument_factory& F, bool optional_value = false )
- : p_optional( false )
- , p_multiplicable( false )
- , p_optional_value( optional_value )
- , m_id_policy( ID )
- , m_arg_factory( F )
- {}
-
- // Destructor
- virtual ~parameter() {}
-
- unit_test::readwrite_property<bool> p_optional;
- unit_test::readwrite_property<bool> p_multiplicable;
- unit_test::readwrite_property<bool> p_optional_value;
- unit_test::readwrite_property<dstring> p_description;
-
- // parameter properties modification
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- if( m.has( optional_m ) )
- p_optional.value = true;
-
- if( m.has( required_m ) )
- p_optional.value = false;
-
- if( m.has( multiplicable_m ) )
- p_multiplicable.value = true;
-
- if( m.has( optional_value_m ) )
- p_optional_value.value = true;
-
- nfp::optionally_assign( p_description.value, m, description );
- }
-
- // access methods
- bool has_argument() const { return m_actual_argument!=0; }
- argument const& actual_argument() const { return *m_actual_argument; }
- argument_ptr actual_argument() { return m_actual_argument; }
-
-
- // identification interface
- bool responds_to( cstring name ) const { return m_id_policy.responds_to( name ); }
- bool conflict_with( parameter const& p ) const
- {
- return (id_2_report() == p.id_2_report() && !id_2_report().is_empty()) ||
- m_id_policy.conflict_with( p.m_id_policy ) ||
- ((m_id_policy.p_type_id != p.m_id_policy.p_type_id) && p.m_id_policy.conflict_with( m_id_policy ));
- }
- cstring id_2_report() const { return m_id_policy.id_2_report(); }
- void usage_info( format_stream& fs ) const
- {
- m_id_policy.usage_info( fs );
- if( p_optional_value )
- fs << BOOST_RT_PARAM_LITERAL( '[' );
-
- m_arg_factory.argument_usage_info( fs );
-
- if( p_optional_value )
- fs << BOOST_RT_PARAM_LITERAL( ']' );
- }
-
- // argument match/produce based on input
- bool matching( argv_traverser& tr, bool primary ) const
- {
- return m_id_policy.matching( *this, tr, primary );
- }
-
- // argument production based on different source
- void produce_argument( argv_traverser& tr )
- {
- m_id_policy.matching( *this, tr, true ); // !! can we save this position somehow
- m_actual_argument = m_arg_factory.produce_using( *this, tr );
- }
- void produce_argument( parser const& p )
- {
- m_actual_argument = m_arg_factory.produce_using( *this, p );
- }
-
-private:
- //Data members
- identification_policy& m_id_policy;
- argument_factory& m_arg_factory;
- argument_ptr m_actual_argument;
-};
-
-//____________________________________________________________________________//
-
-template<typename Parameter,typename Modifier>
-inline shared_ptr<Parameter>
-operator-( shared_ptr<Parameter> p, Modifier const& m )
-{
- p->accept_modifier( m );
-
- return p;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.hpp
deleted file mode 100644
index f95d26a0958..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines parser - public interface for CLA parsing and accessing
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_PARSER_HPP_062604GER
-#define BOOST_RT_CLA_PARSER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-// STL
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::parser ************** //
-// ************************************************************************** //
-
-namespace cla_detail {
-
-template<typename Modifier>
-class global_mod_parser {
-public:
- global_mod_parser( parser& p, Modifier const& m )
- : m_parser( p )
- , m_modifiers( m )
- {}
-
- template<typename Param>
- global_mod_parser const&
- operator<<( shared_ptr<Param> param ) const
- {
- param->accept_modifier( m_modifiers );
-
- m_parser << param;
-
- return *this;
- }
-
-private:
- // Data members;
- parser& m_parser;
- Modifier const& m_modifiers;
-};
-
-}
-
-// ************************************************************************** //
-// ************** runtime::cla::parser ************** //
-// ************************************************************************** //
-
-class parser {
-public:
- typedef std::list<parameter_ptr>::const_iterator param_iterator;
-
- // Constructor
- explicit parser( cstring program_name = cstring() );
-
- // parameter list construction interface
- parser& operator<<( parameter_ptr param );
-
- // parser and global parameters modifiers
- template<typename Modifier>
- cla_detail::global_mod_parser<Modifier>
- operator-( Modifier const& m )
- {
- nfp::optionally_assign( m_traverser.p_separator.value, m, input_separator );
- nfp::optionally_assign( m_traverser.p_ignore_mismatch.value, m, ignore_mismatch_m );
-
- return cla_detail::global_mod_parser<Modifier>( *this, m );
- }
-
- // input processing method
- void parse( int& argc, char_type** argv );
-
- // parameters access
- param_iterator first_param() const;
- param_iterator last_param() const;
-
- // arguments access
- const_argument_ptr operator[]( cstring string_id ) const;
- cstring get( cstring string_id ) const;
-
- template<typename T>
- T const& get( cstring string_id ) const
- {
- return arg_value<T>( valid_argument( string_id ) );
- }
-
- template<typename T>
- void get( cstring string_id, boost::optional<T>& res ) const
- {
- const_argument_ptr actual_arg = (*this)[string_id];
-
- if( actual_arg )
- res = arg_value<T>( *actual_arg );
- else
- res.reset();
- }
-
- // help/usage
- void usage( out_stream& ostr );
- void help( out_stream& ostr );
-
-private:
- argument const& valid_argument( cstring string_id ) const;
-
- // Data members
- argv_traverser m_traverser;
- std::list<parameter_ptr> m_parameters;
- dstring m_program_name;
-};
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/parser.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_PARSER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.ipp
deleted file mode 100644
index 188d303156d..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/parser.ipp
+++ /dev/null
@@ -1,258 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : implements parser - public interface for CLA parsing and accessing
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_PARSER_IPP_062904GER
-#define BOOST_RT_CLA_PARSER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/trace.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-#include <boost/test/utils/runtime/cla/parameter.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/validation.hpp>
-#include <boost/test/utils/runtime/cla/parser.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/foreach.hpp>
-
-// Boost
-#include <boost/lexical_cast.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::parser ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-parser::parser( cstring program_name )
-{
- assign_op( m_program_name, program_name, 0 );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE parser::param_iterator
-parser::first_param() const
-{
- return m_parameters.begin();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE parser::param_iterator
-parser::last_param() const
-{
- return m_parameters.end();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE argument const&
-parser::valid_argument( cstring string_id ) const
-{
- const_argument_ptr arg = (*this)[string_id];
-
- BOOST_RT_PARAM_VALIDATE_LOGIC( !!arg, "Actual argument for parameter " << string_id << " is not present" );
-
- return *arg;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE parser&
-parser::operator<<( parameter_ptr new_param )
-{
- BOOST_TEST_FOREACH( parameter_ptr, old_param, m_parameters ) {
- BOOST_RT_PARAM_VALIDATE_LOGIC( !old_param->conflict_with( *new_param ),
- BOOST_RT_PARAM_LITERAL( "Definition of parameter " ) << new_param->id_2_report() <<
- BOOST_RT_PARAM_LITERAL( " conflicts with defintion of parameter " ) << old_param->id_2_report() );
- }
-
- m_parameters.push_back( new_param );
-
- return *this;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-parser::parse( int& argc, char_type** argv )
-{
- if( m_program_name.empty() ) {
- m_program_name.assign( argv[0] );
- dstring::size_type pos = m_program_name.find_last_of( BOOST_RT_PARAM_LITERAL( "/\\" ) );
-
- if( pos != static_cast<dstring::size_type>(cstring::npos) )
- m_program_name.erase( 0, pos+1 );
- }
-
- m_traverser.init( argc, argv );
-
- try {
- while( !m_traverser.eoi() ) {
- parameter_ptr found_param;
-
- BOOST_RT_PARAM_TRACE( "Total " << m_parameters.size() << " parameters registered" );
-
- BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
- BOOST_RT_PARAM_TRACE( "Try parameter " << curr_param->id_2_report() );
-
- if( curr_param->matching( m_traverser, !found_param ) ) {
- BOOST_RT_PARAM_TRACE( "Match found" );
- BOOST_RT_CLA_VALIDATE_INPUT( !found_param, (m_traverser.rollback(),m_traverser), "Ambiguous input" );
-
- found_param = curr_param;
- }
-
- m_traverser.rollback();
- }
-
- if( !found_param ) {
- BOOST_RT_PARAM_TRACE( "No match found" );
- BOOST_RT_CLA_VALIDATE_INPUT( m_traverser.handle_mismatch(), m_traverser,
- BOOST_RT_PARAM_LITERAL( "Unexpected input" ) );
-
- continue;
- }
-
- BOOST_RT_PARAM_TRACE( "Parse argument value" );
- found_param->produce_argument( m_traverser );
-
- m_traverser.commit();
- }
-
- BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
- if( !curr_param->p_optional && !curr_param->actual_argument() ) {
- curr_param->produce_argument( *this );
-
- BOOST_RT_PARAM_VALIDATE_LOGIC( curr_param->actual_argument(),
- BOOST_RT_PARAM_LITERAL( "Required argument for parameter " ) << curr_param->id_2_report()
- << BOOST_RT_PARAM_LITERAL( " is missing" ) );
- }
- }
- }
- catch( bad_lexical_cast const& ) {
- BOOST_RT_PARAM_REPORT_LOGIC_ERROR(
- BOOST_RT_PARAM_LITERAL( "String to value convertion error during input parsing" ) );
- }
-
- m_traverser.remainder( argc, argv );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE const_argument_ptr
-parser::operator[]( cstring string_id ) const
-{
- parameter_ptr found_param;
-
- BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
- if( curr_param->responds_to( string_id ) ) {
- BOOST_RT_PARAM_VALIDATE_LOGIC( !found_param,
- BOOST_RT_PARAM_LITERAL( "Ambiguous parameter string id: " ) << string_id );
-
- found_param = curr_param;
- }
- }
-
- return found_param ? found_param->actual_argument() : argument_ptr();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE cstring
-parser::get( cstring string_id ) const
-{
- return get<cstring>( string_id );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-parser::usage( out_stream& ostr )
-{
- if( m_program_name.empty() )
- assign_op( m_program_name, BOOST_RT_PARAM_CSTRING_LITERAL( "<program>" ), 0 );
-
- format_stream fs;
-
- fs << m_program_name;
-
- BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
- fs << BOOST_RT_PARAM_LITERAL( ' ' );
-
- if( curr_param->p_optional )
- fs << BOOST_RT_PARAM_LITERAL( '[' );
-
- curr_param->usage_info( fs );
-
- if( curr_param->p_optional )
- fs << BOOST_RT_PARAM_LITERAL( ']' );
-
- if( curr_param->p_multiplicable ) {
- fs << BOOST_RT_PARAM_CSTRING_LITERAL( " ... " );
-
- if( curr_param->p_optional )
- fs << BOOST_RT_PARAM_LITERAL( '[' );
-
- curr_param->usage_info( fs );
-
- if( curr_param->p_optional )
- fs << BOOST_RT_PARAM_LITERAL( ']' );
- }
- }
-
- ostr << BOOST_RT_PARAM_CSTRING_LITERAL( "Usage:\n" ) << fs.str() << std::endl;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-parser::help( out_stream& ostr )
-{
- usage( ostr );
-
- bool need_where = true;
-
- BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
- if( curr_param->p_description->empty() )
- continue;
-
- if( need_where ) {
- ostr << BOOST_RT_PARAM_CSTRING_LITERAL( "where:\n" );
- need_where = false;
- }
-
- ostr << curr_param->id_2_report() << BOOST_RT_PARAM_CSTRING_LITERAL( " - " ) << curr_param->p_description << std::endl;
- }
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_PARSER_IPP_062904GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/typed_parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/typed_parameter.hpp
deleted file mode 100644
index 3d4c57b23ab..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/typed_parameter.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : generic typed parameter model
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/parameter.hpp>
-#include <boost/test/utils/runtime/cla/argument_factory.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::typed_parameter ************** //
-// ************************************************************************** //
-
-template<typename T>
-class typed_parameter : public cla::parameter {
-public:
- explicit typed_parameter( identification_policy& ID )
- : cla::parameter( ID, m_arg_factory, rtti::type_id<T>() == rtti::type_id<bool>() )
- {}
-
- // parameter properties modification
- template<typename Modifier>
- void accept_modifier( Modifier const& m )
- {
- cla::parameter::accept_modifier( m );
-
- m_arg_factory.accept_modifier( m );
-
- BOOST_RT_PARAM_VALIDATE_LOGIC( !p_optional || !m_arg_factory.m_value_generator,
- BOOST_RT_PARAM_LITERAL( "can't define a value generator for optional parameter " ) << id_2_report() );
- }
-
-private:
- // Data members
- typed_argument_factory<T> m_arg_factory;
-};
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.hpp
deleted file mode 100644
index 57a7f2459f1..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : input validation helpers definition
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALIDATION_HPP_062604GER
-#define BOOST_RT_CLA_VALIDATION_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::report_input_error ************** //
-// ************************************************************************** //
-
-void report_input_error( argv_traverser const& tr, format_stream& msg );
-
-//____________________________________________________________________________//
-
-#define BOOST_RT_CLA_VALIDATE_INPUT( b, tr, msg ) \
- if( b ) ; else ::boost::BOOST_RT_PARAM_NAMESPACE::cla::report_input_error( tr, format_stream().ref() << msg )
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-# define BOOST_RT_PARAM_INLINE inline
-# include <boost/test/utils/runtime/cla/validation.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_VALIDATION_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.ipp
deleted file mode 100644
index 9728bd67027..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/validation.ipp
+++ /dev/null
@@ -1,65 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : input validation helpers implementation
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALIDATION_IPP_070604GER
-#define BOOST_RT_CLA_VALIDATION_IPP_070604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-#include <boost/test/utils/runtime/cla/validation.hpp>
-#include <boost/test/utils/runtime/validation.hpp> // BOOST_RT_PARAM_NAMESPACE::logic_error
-
-// Boost
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// STL
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// ************** runtime::cla::validation ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE void
-report_input_error( argv_traverser const& tr, format_stream& msg )
-{
- if( tr.eoi() )
- msg << BOOST_RT_PARAM_LITERAL( " at the end of input" );
- else {
- msg << BOOST_RT_PARAM_LITERAL( " in the following position: " );
-
- if( tr.input().size() > 5 )
- msg << tr.input().substr( 0, 5 ) << BOOST_RT_PARAM_LITERAL( "..." );
- else
- msg << tr.input();
- }
-
- throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_VALIDATION_IPP_070604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_generator.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_generator.hpp
deleted file mode 100644
index ab15c9b551f..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_generator.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : specific value generators
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
-#define BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/parser.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-namespace rt_cla_detail {
-
-// ************************************************************************** //
-// ************** runtime::cla::const_generator ************** //
-// ************************************************************************** //
-
-template<typename T>
-class const_generator {
-public:
- // Constructor
- explicit const_generator( T const& t ) : m_const_value( t ) {}
-
- // generator interface
- void operator()( parser const&, boost::optional<T>& t ) const { t = m_const_value; }
-
-private:
- // Data members
- T m_const_value;
-};
-
-// ************************************************************************** //
-// ************** runtime::cla::ref_generator ************** //
-// ************************************************************************** //
-
-template<typename T>
-class ref_generator {
-public:
- // Constructor
- explicit ref_generator( cstring ref_id ) : m_ref_id( ref_id ) {}
-
- // generator interface
- void operator()( parser const& p, boost::optional<T>& t ) const
- {
- p.get( m_ref_id, t );
- }
-
-private:
- // Data members
- cstring m_ref_id;
-};
-
-//____________________________________________________________________________//
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_handler.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_handler.hpp
deleted file mode 100644
index fbf99667aa5..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/cla/value_handler.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : specific value handlers
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
-#define BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-namespace rt_cla_detail {
-
-// ************************************************************************** //
-// ************** runtime::cla::assigner ************** //
-// ************************************************************************** //
-
-template<typename T>
-class assigner {
-public:
- // Constructor
- explicit assigner( T& loc ) : m_target( loc ) {}
-
- // value handler implementation
- void operator()( parameter const&, T& t ) { m_target = t; }
-
-private:
- // Data members
- T& m_target;
-};
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/config.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/config.hpp
deleted file mode 100644
index 771a8ee7af1..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/config.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : Runtime.Param library configuration
-// ***************************************************************************
-
-#ifndef BOOST_RT_CONFIG_HPP_062604GER
-#define BOOST_RT_CONFIG_HPP_062604GER
-
-// Boost
-#include <boost/config.hpp>
-#ifdef BOOST_MSVC
-# pragma warning(disable: 4511) // copy constructor could not be generated
-# pragma warning(disable: 4512) // assignment operator could not be generated
-# pragma warning(disable: 4181) // qualifier applied to reference type; ignored
-# pragma warning(disable: 4675) // resolved overload was found by argument-dependent lookup
-#endif
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp> // operator<<(boost::runtime::cstring)
-
-// STL
-#include <string>
-#include <cstdlib>
-
-//____________________________________________________________________________//
-
-#ifndef BOOST_RT_PARAM_CUSTOM_STRING
-# ifndef BOOST_RT_PARAM_WIDE_STRING
-# define BOOST_RT_PARAM_NAMESPACE runtime
-# else
-# define BOOST_RT_PARAM_NAMESPACE wide_runtime
-# endif
-#endif
-
-#ifdef __SUNPRO_CC
-extern int putenv(char*);
-#endif
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-#ifndef BOOST_RT_PARAM_CUSTOM_STRING
-# ifndef BOOST_RT_PARAM_WIDE_STRING
-
-typedef char char_type;
-typedef std::string dstring;
-typedef unit_test::const_string cstring;
-typedef unit_test::literal_string literal_cstring;
-typedef wrap_stringstream format_stream;
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-typedef std::ostream out_stream;
-#else
-typedef std::basic_ostream<char_type> out_stream;
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4996) // putenv
-#endif
-
-#ifndef UNDER_CE
-#if defined(__COMO__) && 0
-inline void
-putenv_impl( cstring name, cstring value )
-{
- using namespace std;
- // !! this may actually fail. What should we do?
- setenv( name.begin(), value.begin(), 1 );
-}
-#else
-inline void
-putenv_impl( cstring name, cstring value )
-{
- format_stream fs;
-
- fs << name << '=' << value;
-
- // !! this may actually fail. What should we do?
- // const_cast is used to satisfy putenv interface
- using namespace std;
- putenv( const_cast<char*>( fs.str().c_str() ) );
-}
-#endif
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#define BOOST_RT_PARAM_LITERAL( l ) l
-#define BOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( l, sizeof( l ) - 1 )
-#define BOOST_RT_PARAM_GETENV getenv
-#define BOOST_RT_PARAM_PUTENV ::boost::BOOST_RT_PARAM_NAMESPACE::putenv_impl
-#define BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
-
-//____________________________________________________________________________//
-
-# else
-
-typedef wchar_t char_type;
-typedef std::basic_string<char_type> dstring;
-typedef unit_test::basic_cstring<wchar_t const> cstring;
-typedef const unit_test::basic_cstring<wchar_t const> literal_cstring;
-typedef wrap_wstringstream format_stream;
-typedef std::wostream out_stream;
-
-#ifndef UNDER_CE
-inline void
-putenv_impl( cstring name, cstring value )
-{
- format_stream fs;
-
- fs << name << '=' << value;
-
- // !! this may actually fail. What should we do?
- // const_cast is used to satisfy putenv interface
- using namespace std;
- wputenv( const_cast<wchar_t*>( fs.str().c_str() ) );
-}
-#endif
-
-#define BOOST_RT_PARAM_LITERAL( l ) L ## l
-#define BOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( L ## l, sizeof( L ## l )/sizeof(wchar_t) - 1 )
-#define BOOST_RT_PARAM_GETENV wgetenv
-#define BOOST_RT_PARAM_PUTENV putenv_impl
-
-# endif
-#endif
-
-#ifdef __GNUC__
-#define BOOST_RT_PARAM_UNNEEDED_VIRTUAL virtual
-#else
-#define BOOST_RT_PARAM_UNNEEDED_VIRTUAL
-#endif
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CONFIG_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.hpp
deleted file mode 100644
index f3170ff53a6..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines and implements inline model of program environment
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
-#define BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
-
-#ifdef UNDER_CE
-#error Windows CE does not support environment variables.
-#endif
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-#include <boost/test/utils/runtime/interpret_argument_value.hpp>
-
-#include <boost/test/utils/runtime/env/fwd.hpp>
-#include <boost/test/utils/runtime/env/modifier.hpp>
-#include <boost/test/utils/runtime/env/variable.hpp>
-
-// Boost.Test
-#include <boost/test/utils/callback.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// ************** runtime::environment implementation ************** //
-// ************************************************************************** //
-
-namespace environment {
-
-namespace rt_env_detail {
-
-template<typename T, typename Modifiers>
-variable_data&
-init_new_var( cstring var_name, Modifiers m = nfp::no_params )
-{
- rt_env_detail::variable_data& new_vd = new_var_record( var_name );
-
- cstring str_value = sys_read_var( new_vd.m_var_name );
-
- if( !str_value.is_empty() ) {
- try {
- boost::optional<T> value;
-
- if( m.has( interpreter ) )
- m[interpreter]( str_value, value );
- else
- interpret_argument_value( str_value, value, 0 );
-
- if( !!value ) {
- new_vd.m_value.reset( new typed_argument<T>( new_vd ) );
-
- arg_value<T>( *new_vd.m_value ) = *value;
- }
- }
- catch( ... ) { // !! could we do that
- // !! should we report an error?
- }
- }
-
- if( !new_vd.m_value && m.has( default_value ) ) {
- new_vd.m_value.reset( new typed_argument<T>( new_vd ) );
-
- nfp::optionally_assign( arg_value<T>( *new_vd.m_value ), m[default_value] );
- }
-
- nfp::optionally_assign( new_vd.m_global_id, m, global_id );
-
- return new_vd;
-}
-
-//____________________________________________________________________________//
-
-} // namespace rt_env_detail
-
-} // namespace environment
-
-// ************************************************************************** //
-// ************** runtime::environment ************** //
-// ************************************************************************** //
-
-namespace environment {
-
- // variable access
- variable_base
- var( cstring var_name );
-
- //________________________________________________________________________//
-
- template<typename T>
- inline variable<T>
- var( cstring var_name )
- {
- rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
-
- return environment::variable<T>( !vd ? rt_env_detail::init_new_var<T>( var_name, nfp::no_params ) : *vd );
- }
-
- //________________________________________________________________________//
-
- template<typename T, typename Modifiers>
- inline variable<T>
- var( cstring var_name, Modifiers const& m )
- {
- rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
-
- return environment::variable<T>( !vd ? rt_env_detail::init_new_var<T>( var_name, m ) : *vd );
- }
-
- //________________________________________________________________________//
-
- // direct variable value access
- inline cstring
- get( cstring var_name )
- {
- return environment::var<cstring>( var_name ).value();
- }
-
- //________________________________________________________________________//
-
- template<typename T>
- inline T const&
- get( cstring var_name )
- {
- return environment::var<T>( var_name ).value();
- }
-
- //________________________________________________________________________//
-
- template<typename T>
- inline void
- get( cstring var_name, boost::optional<T>& res )
- {
- variable<T> const& v = environment::var<T>( var_name );
- v.value( res );
- }
-
- //________________________________________________________________________//
-
-} // namespace environment
-
-namespace env = environment;
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#define BOOST_RT_PARAM_INLINE inline
-#include <boost/test/utils/runtime/env/environment.ipp>
-
-#endif
-
-#endif // BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.ipp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.ipp
deleted file mode 100644
index 5a320003f7e..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/environment.ipp
+++ /dev/null
@@ -1,125 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : implements model of program environment
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
-#define BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/env/variable.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/compare.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// STL
-#include <map>
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-// ************************************************************************** //
-// ************** runtime::environment ************** //
-// ************************************************************************** //
-
-namespace rt_env_detail {
-
-typedef std::map<cstring,rt_env_detail::variable_data> registry;
-typedef std::list<dstring> keys;
-
-BOOST_RT_PARAM_INLINE registry& s_registry() { static registry instance; return instance; }
-BOOST_RT_PARAM_INLINE keys& s_keys() { static keys instance; return instance; }
-
-BOOST_RT_PARAM_INLINE variable_data&
-new_var_record( cstring var_name )
-{
- // save the name in list of keys
- s_keys().push_back( dstring() );
- dstring& key = s_keys().back();
- assign_op( key, var_name, 0 );
-
- // create and return new record
- variable_data& new_var_data = s_registry()[key];
-
- new_var_data.m_var_name = key;
-
- return new_var_data;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE variable_data*
-find_var_record( cstring var_name )
-{
- registry::iterator it = s_registry().find( var_name );
-
- return it == s_registry().end() ? 0 : &(it->second);
-}
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4996) // getenv
-#endif
-
-BOOST_RT_PARAM_INLINE cstring
-sys_read_var( cstring var_name )
-{
- using namespace std;
- return BOOST_RT_PARAM_GETENV( var_name.begin() );
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-sys_write_var( cstring var_name, format_stream& var_value )
-{
- BOOST_RT_PARAM_PUTENV( var_name, cstring( var_value.str() ) );
-}
-
-//____________________________________________________________________________//
-
-} // namespace rt_env_detail
-
-BOOST_RT_PARAM_INLINE variable_base
-var( cstring var_name )
-{
- rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
-
- BOOST_RT_PARAM_VALIDATE_LOGIC( !!vd,
- BOOST_RT_PARAM_LITERAL( "First access to the environment variable " )
- << var_name << BOOST_RT_PARAM_LITERAL( " should be typed" ) );
-
- return variable_base( *vd );
-}
-
-//____________________________________________________________________________//
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/fwd.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/fwd.hpp
deleted file mode 100644
index dff5dfd299a..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/fwd.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : environment subsystem forward declarations
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_FWD_HPP_062604GER
-#define BOOST_RT_ENV_FWD_HPP_062604GER
-
-#ifdef UNDER_CE
-#error Windows CE does not support environment variables.
-#endif
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-class variable_base;
-variable_base var( cstring var_name );
-
-namespace rt_env_detail {
-
-struct variable_data;
-
-variable_data& new_var_record( cstring var_name );
-variable_data* find_var_record( cstring var_name );
-
-cstring sys_read_var( cstring var_name );
-void sys_write_var( cstring var_name, format_stream& var_value );
-
-}
-
-template <typename T> class variable;
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_FWD_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/modifier.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/modifier.hpp
deleted file mode 100644
index cdd6be908f1..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/modifier.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Use, modification, and distribution are 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines variable modifiers
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_MODIFIER_HPP_062604GER
-#define BOOST_RT_ENV_MODIFIER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/named_params.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-// ************************************************************************** //
-// ************** environment variable modifiers ************** //
-// ************************************************************************** //
-
-namespace {
-
-nfp::typed_keyword<cstring,struct global_id_t> global_id;
-nfp::keyword<struct default_value_t> default_value;
-nfp::keyword<struct interpreter_t> interpreter;
-
-} // local namespace
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_MODIFIER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/variable.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/variable.hpp
deleted file mode 100644
index 8e8b0a0737a..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/env/variable.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines model of program environment variable
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_VARIABLE_HPP_062604GER
-#define BOOST_RT_ENV_VARIABLE_HPP_062604GER
-
-#ifdef UNDER_CE
-#error Windows CE does not support environment variables.
-#endif
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/parameter.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-
-#include <boost/test/utils/runtime/env/fwd.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-// ************************************************************************** //
-// ************** runtime::environment::variable_data ************** //
-// ************************************************************************** //
-
-namespace rt_env_detail {
-
-struct variable_data : public runtime::parameter {
- cstring m_var_name;
- dstring m_global_id;
- argument_ptr m_value;
-};
-
-} // namespace rt_env_detail
-
-// ************************************************************************** //
-// ************** runtime::environment::variable_base ************** //
-// ************************************************************************** //
-
-class variable_base {
-public:
- explicit variable_base( rt_env_detail::variable_data& data ) : m_data( &data ) {}
-
- // arguments access
- template<typename T>
- T const& value() const
- {
- return arg_value<T>( *m_data->m_value );
- }
-
- template<typename T>
- void value( boost::optional<T>& res ) const
- {
- if( has_value() )
- res = arg_value<T>( *m_data->m_value );
- else
- res.reset();
- }
-
- bool has_value() const { return m_data->m_value!=0; }
- cstring name() const { return m_data->m_var_name; }
-
-protected:
- // Data members
- rt_env_detail::variable_data* m_data;
-} ;
-
-// ************************************************************************** //
-// ************** runtime::environment::variable ************** //
-// ************************************************************************** //
-
-template<typename T = cstring>
-class variable : public variable_base {
-public:
- // Constructors
- explicit variable( cstring var_name );
-
- template<typename Modifiers>
- explicit variable( cstring var_name, Modifiers const& m );
-
- explicit variable( rt_env_detail::variable_data& data )
- : variable_base( data ) {}
-
- // other variable assignment
- void operator=( variable const& v ) { m_data = v.m_data; }
-
- // access methods
- T const& value() const { return variable_base::value<T>(); }
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) || \
- BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0593))
- template<typename T>
- void value( boost::optional<T>& res ) const { variable_base::value( res ); }
-#else
- using variable_base::value;
-#endif
-
- // Value assignment
- template<typename V>
- void operator=( V const& v )
- {
- if( !has_value() )
- m_data->m_value.reset( new typed_argument<T>( *m_data ) );
-
- arg_value<T>( *m_data->m_value ) = v;
-
- rt_env_detail::sys_write_var( m_data->m_var_name, format_stream().ref() << value() );
- }
-}; // class variable
-
-//____________________________________________________________________________//
-
-template<typename CharT, typename Tr,typename T>
-inline std::basic_ostream<CharT,Tr>&
-operator<<( std::basic_ostream<CharT,Tr>& os, variable<T> const& v )
-{
- os << v.name() << '=';
-
- if( v.has_value() )
- os << v.value();
-
- return os;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator==( variable<T> ev, V const& v )
-{
- return ev.has_value() && ev.value() == v;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator==( V const& v, variable<T> ev )
-{
- return ev.has_value() && ev.value() == v;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator!=( variable<T> ev, V const& v )
-{
- return !ev.has_value() || ev.value() != v;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator!=( V const& v, variable<T> ev )
-{
- return !ev.has_value() || ev.value() != v;
-}
-
-//____________________________________________________________________________//
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-// ************************************************************************** //
-// ************************************************************************** //
-// Implementation
-
-#include <boost/test/utils/runtime/env/environment.hpp>
-
-// ************************************************************************** //
-// ************** runtime::environment::variable ************** //
-// ************************************************************************** //
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-template<typename T>
-variable<T>::variable( cstring var_name )
-: variable_base( environment::var<T>( var_name ) )
-{}
-
-//____________________________________________________________________________//
-
-template<typename T>
-template<typename Modifiers>
-variable<T>::variable( cstring var_name, Modifiers const& m )
-: variable_base( environment::var<T>( var_name, m ) )
-{}
-
-//____________________________________________________________________________//
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_VARIABLE_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/fwd.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/fwd.hpp
deleted file mode 100644
index aafdf69d17b..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/fwd.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : global framework level forward declaration
-// ***************************************************************************
-
-#ifndef BOOST_RT_FWD_HPP_062604GER
-#define BOOST_RT_FWD_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-class parameter;
-
-class argument;
-typedef shared_ptr<argument> argument_ptr;
-typedef shared_ptr<argument const> const_argument_ptr;
-
-template<typename T> class value_interpreter;
-template<typename T> class typed_argument;
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_FWD_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/interpret_argument_value.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/interpret_argument_value.hpp
deleted file mode 100644
index f767e7a29b2..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/interpret_argument_value.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : default algorithms for string to specific type convertions
-// ***************************************************************************
-
-#ifndef BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
-#define BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/trace.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/basic_cstring/compare.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-#include <boost/lexical_cast.hpp>
-
-// STL
-// !! could we eliminate these includes?
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// ************** runtime::interpret_argument_value ************** //
-// ************************************************************************** //
-// returns true if source is used false otherwise
-
-// generic case
-template<typename T>
-struct interpret_argument_value_impl {
- static bool _( cstring source, boost::optional<T>& res )
- {
- BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<" << typeid(T).name() << ">" );
-
- res = lexical_cast<T>( source );
-
- BOOST_RT_PARAM_TRACE( "String " << source << " is interpreted as " << *res );
- return true;
- }
-};
-
-
-//____________________________________________________________________________//
-
-// dstring case
-template<>
-struct interpret_argument_value_impl<dstring> {
- static bool _( cstring source, boost::optional<dstring>& res )
- {
- BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<dstring>" );
-
- res = dstring();
- assign_op( *res, source, 0 );
-
- return true;
- }
-};
-
-//____________________________________________________________________________//
-
-// cstring case
-template<>
-struct interpret_argument_value_impl<cstring> {
- static bool _( cstring source, boost::optional<cstring>& res )
- {
- BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<cstring>" );
-
- res = source;
-
- return true;
- }
-};
-
-//____________________________________________________________________________//
-
-// specialization for type bool
-template<>
-struct interpret_argument_value_impl<bool> {
- static bool _( cstring source, boost::optional<bool>& res )
- {
- BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<bool>" );
-
- static literal_cstring YES( BOOST_RT_PARAM_CSTRING_LITERAL( "YES" ) );
- static literal_cstring Y( BOOST_RT_PARAM_CSTRING_LITERAL( "Y" ) );
- static literal_cstring NO( BOOST_RT_PARAM_CSTRING_LITERAL( "NO" ) );
- static literal_cstring N( BOOST_RT_PARAM_CSTRING_LITERAL( "N" ) );
- static literal_cstring one( BOOST_RT_PARAM_CSTRING_LITERAL( "1" ) );
- static literal_cstring zero( BOOST_RT_PARAM_CSTRING_LITERAL( "0" ) );
-
- source.trim();
-
- if( case_ins_eq( source, YES ) || case_ins_eq( source, Y ) || case_ins_eq( source, one ) ) {
- res = true;
- return true;
- }
- else if( case_ins_eq( source, NO ) || case_ins_eq( source, N ) || case_ins_eq( source, zero ) ) {
- res = false;
- return true;
- }
- else {
- res = true;
- return false;
- }
- }
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline bool
-interpret_argument_value( cstring source, boost::optional<T>& res, long )
-{
- return interpret_argument_value_impl<T>::_( source, res );
-}
-
-//____________________________________________________________________________//
-
-// specialization for list of values
-template<typename T>
-inline bool
-interpret_argument_value( cstring source, boost::optional<std::list<T> >& res, int )
-{
- BOOST_RT_PARAM_TRACE( "In interpret_argument_value<std::list<T>>" );
-
- res = std::list<T>();
-
- while( !source.is_empty() ) {
- // !! should we use token_iterator
- cstring::iterator single_value_end = std::find( source.begin(), source.end(), BOOST_RT_PARAM_LITERAL( ',' ) );
-
- boost::optional<T> value;
- interpret_argument_value( cstring( source.begin(), single_value_end ), value, 0 );
-
- res->push_back( *value );
-
- source.trim_left( single_value_end + 1 );
- }
-
- return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/parameter.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/parameter.hpp
deleted file mode 100644
index b914a9b4e5b..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/parameter.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : abstract interface for the formal parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_PARAMETER_HPP_062604GER
-#define BOOST_RT_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// ************** runtime::parameter ************** //
-// ************************************************************************** //
-
-class parameter {
-public:
- virtual ~parameter() {}
-};
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_PARAMETER_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/trace.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/trace.hpp
deleted file mode 100644
index 5c4e2a7c059..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/trace.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : optional internal tracing
-// ***************************************************************************
-
-#ifndef BOOST_RT_TRACE_HPP_062604GER
-#define BOOST_RT_TRACE_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#ifdef BOOST_RT_PARAM_DEBUG
-
-#include <iostream>
-
-# define BOOST_RT_PARAM_TRACE( str ) std::cerr << str << std::endl
-#else
-# define BOOST_RT_PARAM_TRACE( str )
-#endif
-
-#endif // BOOST_RT_TRACE_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/runtime/validation.hpp b/src/third_party/boost-1.56.0/boost/test/utils/runtime/validation.hpp
deleted file mode 100644
index bcfbc9f062f..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/runtime/validation.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : defines exceptions and validation tools
-// ***************************************************************************
-
-#ifndef BOOST_RT_VALIDATION_HPP_062604GER
-#define BOOST_RT_VALIDATION_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-
-// STL
-#ifdef BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
-#include <stdexcept>
-#endif
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// ************** runtime::logic_error ************** //
-// ************************************************************************** //
-
-class logic_error
-#ifdef BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
-: public std::exception
-#endif
-{
- typedef shared_ptr<dstring> dstring_ptr;
-public:
- // Constructor // !! could we eliminate shared_ptr
- explicit logic_error( cstring msg ) : m_msg( new dstring( msg.begin(), msg.size() ) ) {}
- ~logic_error() throw() {}
-
- dstring const& msg() const { return *m_msg; }
- virtual char_type const* what() const throw() { return m_msg->c_str(); }
-
-private:
- dstring_ptr m_msg;
-};
-
-// ************************************************************************** //
-// ************** runtime::report_logic_error ************** //
-// ************************************************************************** //
-
-inline void
-report_logic_error( format_stream& msg )
-{
- throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
-}
-
-//____________________________________________________________________________//
-
-#define BOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg ) \
- boost::BOOST_RT_PARAM_NAMESPACE::report_logic_error( format_stream().ref() << msg )
-
-#define BOOST_RT_PARAM_VALIDATE_LOGIC( b, msg ) \
- if( b ) {} else BOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg )
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_VALIDATION_HPP_062604GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/trivial_singleton.hpp b/src/third_party/boost-1.56.0/boost/test/utils/trivial_singleton.hpp
deleted file mode 100644
index 61cca97e000..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/trivial_singleton.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : simple helpers for creating cusom output manipulators
-// ***************************************************************************
-
-#ifndef BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
-#define BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/noncopyable.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** singleton ************** //
-// ************************************************************************** //
-
-template<typename Derived>
-class singleton : private boost::noncopyable {
-public:
- static Derived& instance() { static Derived the_inst; return the_inst; }
-protected:
- singleton() {}
- ~singleton() {}
-};
-
-} // namespace unit_test
-
-#define BOOST_TEST_SINGLETON_CONS( type ) \
-friend class boost::unit_test::singleton<type>; \
-type() {} \
-/**/
-
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
-
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-template class unit_test::singleton< BOOST_JOIN( inst, _t ) > ; \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
-
-#elif defined(__APPLE_CC__) && defined(__GNUC__) && __GNUC__ < 4
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-static BOOST_JOIN( inst, _t)& inst = BOOST_JOIN (inst, _t)::instance();
-
-#else
-
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
-
-#endif
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/wrap_stringstream.hpp b/src/third_party/boost-1.56.0/boost/test/utils/wrap_stringstream.hpp
deleted file mode 100644
index d1122c8ca87..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/wrap_stringstream.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2002-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : wraps strstream and stringstream (depends with one is present)
-// to provide the unified interface
-// ***************************************************************************
-
-#ifndef BOOST_WRAP_STRINGSTREAM_HPP_071894GER
-#define BOOST_WRAP_STRINGSTREAM_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// STL
-#ifdef BOOST_NO_STRINGSTREAM
-#include <strstream> // for std::ostrstream
-#else
-#include <sstream> // for std::ostringstream
-#endif // BOOST_NO_STRINGSTREAM
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-// ************************************************************************** //
-// ************** basic_wrap_stringstream ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-class basic_wrap_stringstream {
-public:
-#if defined(BOOST_CLASSIC_IOSTREAMS)
- typedef std::ostringstream wrapped_stream;
-#elif defined(BOOST_NO_STRINGSTREAM)
- typedef std::basic_ostrstream<CharT> wrapped_stream;
-#else
- typedef std::basic_ostringstream<CharT> wrapped_stream;
-#endif // BOOST_NO_STRINGSTREAM
- // Access methods
- basic_wrap_stringstream& ref();
- wrapped_stream& stream();
- std::basic_string<CharT> const& str();
-
-private:
- // Data members
- wrapped_stream m_stream;
- std::basic_string<CharT> m_str;
-};
-
-//____________________________________________________________________________//
-
-template <typename CharT, typename T>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, T const& t )
-{
- targ.stream() << t;
- return targ;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline typename basic_wrap_stringstream<CharT>::wrapped_stream&
-basic_wrap_stringstream<CharT>::stream()
-{
- return m_stream;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline basic_wrap_stringstream<CharT>&
-basic_wrap_stringstream<CharT>::ref()
-{
- return *this;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline std::basic_string<CharT> const&
-basic_wrap_stringstream<CharT>::str()
-{
-
-#ifdef BOOST_NO_STRINGSTREAM
- m_str.assign( m_stream.str(), m_stream.pcount() );
- m_stream.freeze( false );
-#else
- m_str = m_stream.str();
-#endif
-
- return m_str;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, basic_wrap_stringstream<CharT>& src )
-{
- targ << src.str();
- return targ;
-}
-
-//____________________________________________________________________________//
-
-#if BOOST_TEST_USE_STD_LOCALE
-
-template <typename CharT>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::ios_base& (BOOST_TEST_CALL_DECL *man)(std::ios_base&) )
-{
- targ.stream() << man;
- return targ;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT,typename Elem,typename Tr>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ostream<Elem,Tr>& (BOOST_TEST_CALL_DECL *man)(std::basic_ostream<Elem, Tr>&) )
-{
- targ.stream() << man;
- return targ;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT,typename Elem,typename Tr>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ios<Elem, Tr>& (BOOST_TEST_CALL_DECL *man)(std::basic_ios<Elem, Tr>&) )
-{
- targ.stream() << man;
- return targ;
-}
-
-//____________________________________________________________________________//
-
-#endif
-
-// ************************************************************************** //
-// ************** wrap_stringstream ************** //
-// ************************************************************************** //
-
-typedef basic_wrap_stringstream<char> wrap_stringstream;
-typedef basic_wrap_stringstream<wchar_t> wrap_wstringstream;
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_WRAP_STRINGSTREAM_HPP_071894GER
diff --git a/src/third_party/boost-1.56.0/boost/test/utils/xml_printer.hpp b/src/third_party/boost-1.56.0/boost/test/utils/xml_printer.hpp
deleted file mode 100644
index ae73cce105a..00000000000
--- a/src/third_party/boost-1.56.0/boost/test/utils/xml_printer.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2004-2008.
-// Distributed under 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)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : common code used by any agent serving as XML printer
-// ***************************************************************************
-
-#ifndef BOOST_TEST_XML_PRINTER_HPP_071894GER
-#define BOOST_TEST_XML_PRINTER_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/fixed_mapping.hpp>
-#include <boost/test/utils/custom_manip.hpp>
-#include <boost/test/utils/foreach.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// Boost
-#include <boost/config.hpp>
-
-// STL
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** xml print helpers ************** //
-// ************************************************************************** //
-
-inline void
-print_escaped( std::ostream& where_to, const_string value )
-{
- static fixed_mapping<char,char const*> char_type(
- '<' , "lt",
- '>' , "gt",
- '&' , "amp",
- '\'', "apos" ,
- '"' , "quot",
-
- 0
- );
-
- BOOST_TEST_FOREACH( char, c, value ) {
- char const* ref = char_type[c];
-
- if( ref )
- where_to << '&' << ref << ';';
- else
- where_to << c;
- }
-}
-
-//____________________________________________________________________________//
-
-inline void
-print_escaped( std::ostream& where_to, std::string const& value )
-{
- print_escaped( where_to, const_string( value ) );
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline void
-print_escaped( std::ostream& where_to, T const& value )
-{
- where_to << value;
-}
-
-//____________________________________________________________________________//
-
-typedef custom_manip<struct attr_value_t> attr_value;
-
-template<typename T>
-inline std::ostream&
-operator<<( custom_printer<attr_value> const& p, T const& value )
-{
- *p << "=\"";
- print_escaped( *p, value );
- *p << '"';
-
- return *p;
-}
-
-//____________________________________________________________________________//
-
-typedef custom_manip<struct cdata_t> cdata;
-
-inline std::ostream&
-operator<<( custom_printer<cdata> const& p, const_string value )
-{
- return *p << BOOST_TEST_L( "<![CDATA[" ) << value << BOOST_TEST_L( "]]>" );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_XML_PRINTER_HPP_071894GER