diff options
Diffstat (limited to '3rdParty/Boost/boost/algorithm/string')
22 files changed, 0 insertions, 5022 deletions
| diff --git a/3rdParty/Boost b/3rdParty/Boost new file mode 160000 +Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79 diff --git a/3rdParty/Boost/boost/algorithm/string/case_conv.hpp b/3rdParty/Boost/boost/algorithm/string/case_conv.hpp deleted file mode 100644 index 536c022..0000000 --- a/3rdParty/Boost/boost/algorithm/string/case_conv.hpp +++ /dev/null @@ -1,176 +0,0 @@ -//  Boost string_algo library case_conv.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CASE_CONV_HPP -#define BOOST_STRING_CASE_CONV_HPP - -#include <boost/algorithm/string/config.hpp> -#include <algorithm> -#include <locale> -#include <boost/iterator/transform_iterator.hpp> - -#include <boost/range/as_literal.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/value_type.hpp> - -#include <boost/algorithm/string/detail/case_conv.hpp> - -/*! \file -    Defines sequence case-conversion algorithms. -    Algorithms convert each element in the input sequence to the -    desired case using provided locales. -*/ - -namespace boost { -    namespace algorithm { - -//  to_lower  -----------------------------------------------// - -        //! Convert to lower case -        /*! -            Each element of the input sequence is converted to lower -            case. The result is a copy of the input converted to lower case. -            It is returned as a sequence or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input range -            \param Loc A locale used for conversion -            \return  -                An output iterator pointing just after the last inserted character or -                a copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -                 -        */ -        template<typename OutputIteratorT, typename RangeT> -        inline OutputIteratorT  -        to_lower_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            const std::locale& Loc=std::locale()) -        { -            return ::boost::algorithm::detail::transform_range_copy(  -               Output, -               as_literal(Input), -               ::boost::algorithm::detail::to_lowerF< -                    typename range_value<RangeT>::type >(Loc)); -        } - -        //! Convert to lower case -        /*! -            \overload -        */ -        template<typename SequenceT> -        inline SequenceT to_lower_copy(  -            const SequenceT& Input,  -            const std::locale& Loc=std::locale()) -        { -            return ::boost::algorithm::detail::transform_range_copy<SequenceT>( -                Input, -                ::boost::algorithm::detail::to_lowerF< -                    typename range_value<SequenceT>::type >(Loc)); -        } - -        //! Convert to lower case -        /*! -            Each element of the input sequence is converted to lower -            case. The input sequence is modified in-place. - -            \param Input A range -            \param Loc a locale used for conversion -        */ -        template<typename WritableRangeT> -        inline void to_lower(  -            WritableRangeT& Input,  -            const std::locale& Loc=std::locale()) -        { -            ::boost::algorithm::detail::transform_range( -                as_literal(Input), -                ::boost::algorithm::detail::to_lowerF< -                    typename range_value<WritableRangeT>::type >(Loc)); -        } -         -//  to_upper  -----------------------------------------------// - -        //! Convert to upper case -        /*! -            Each element of the input sequence is converted to upper -            case. The result is a copy of the input converted to upper case. -            It is returned as a sequence or copied to the output iterator - -            \param Output An output iterator to which the result will be copied -            \param Input An input range -            \param Loc A locale used for conversion -            \return  -                An output iterator pointing just after the last inserted character or -                a copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template<typename OutputIteratorT, typename RangeT> -        inline OutputIteratorT  -        to_upper_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            const std::locale& Loc=std::locale()) -        { -            return ::boost::algorithm::detail::transform_range_copy(  -               Output, -               as_literal(Input), -               ::boost::algorithm::detail::to_upperF< -                    typename range_value<RangeT>::type >(Loc)); -        } - -        //! Convert to upper case -        /*! -            \overload -        */ -        template<typename SequenceT> -        inline SequenceT to_upper_copy(  -            const SequenceT& Input,  -            const std::locale& Loc=std::locale()) -        { -            return ::boost::algorithm::detail::transform_range_copy<SequenceT>( -                Input, -                ::boost::algorithm::detail::to_upperF< -                    typename range_value<SequenceT>::type >(Loc)); -        } - -        //! Convert to upper case -        /*! -            Each element of the input sequence is converted to upper -            case. The input sequence is modified in-place. - -            \param Input An input range -            \param Loc a locale used for conversion -        */ -        template<typename WritableRangeT> -        inline void to_upper(  -            WritableRangeT& Input,  -            const std::locale& Loc=std::locale()) -        { -            ::boost::algorithm::detail::transform_range( -                as_literal(Input), -                ::boost::algorithm::detail::to_upperF< -                    typename range_value<WritableRangeT>::type >(Loc)); -        } - -    } // namespace algorithm - -    // pull names to the boost namespace -    using algorithm::to_lower; -    using algorithm::to_lower_copy; -    using algorithm::to_upper; -    using algorithm::to_upper_copy; - -} // namespace boost - -#endif  // BOOST_STRING_CASE_CONV_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/compare.hpp b/3rdParty/Boost/boost/algorithm/string/compare.hpp deleted file mode 100644 index 734303a..0000000 --- a/3rdParty/Boost/boost/algorithm/string/compare.hpp +++ /dev/null @@ -1,199 +0,0 @@ -//  Boost string_algo library compare.hpp header file  -------------------------// - -//  Copyright Pavol Droba 2002-2006. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_COMPARE_HPP -#define BOOST_STRING_COMPARE_HPP - -#include <boost/algorithm/string/config.hpp> -#include <locale> - -/*! \file -    Defines element comparison predicates. Many algorithms in this library can -    take an additional argument with a predicate used to compare elements. -    This makes it possible, for instance, to have case insensitive versions -    of the algorithms. -*/ - -namespace boost { -    namespace algorithm { - -        //  is_equal functor  -----------------------------------------------// - -        //! is_equal functor -        /*! -            Standard STL equal_to only handle comparison between arguments -            of the same type. This is a less restrictive version which wraps operator ==. -        */ -        struct is_equal -        { -            //! Function operator -            /*! -                Compare two operands for equality -            */ -            template< typename T1, typename T2 > -                bool operator()( const T1& Arg1, const T2& Arg2 ) const -            { -                return Arg1==Arg2; -            } -        }; - -        //! case insensitive version of is_equal -        /*! -            Case insensitive comparison predicate. Comparison is done using -            specified locales. -        */ -        struct is_iequal -        { -            //! Constructor -            /*! -                \param Loc locales used for comparison -            */ -            is_iequal( const std::locale& Loc=std::locale() ) : -                m_Loc( Loc ) {} - -            //! Function operator -            /*! -                Compare two operands. Case is ignored. -            */ -            template< typename T1, typename T2 > -                bool operator()( const T1& Arg1, const T2& Arg2 ) const -            { -                #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) -                    return std::toupper(Arg1)==std::toupper(Arg2); -                #else -                    return std::toupper<T1>(Arg1,m_Loc)==std::toupper<T2>(Arg2,m_Loc); -                #endif -            } - -        private: -            std::locale m_Loc; -        }; - -        //  is_less functor  -----------------------------------------------// - -        //! is_less functor -        /*! -            Convenient version of standard std::less. Operation is templated, therefore it is  -            not required to specify the exact types upon the construction -         */ -        struct is_less -        { -            //! Functor operation -            /*! -                Compare two operands using > operator -             */ -            template< typename T1, typename T2 > -                bool operator()( const T1& Arg1, const T2& Arg2 ) const -            { -                return Arg1<Arg2; -            } -        }; - - -        //! case insensitive version of is_less -        /*! -            Case insensitive comparison predicate. Comparison is done using -            specified locales. -        */ -        struct is_iless -        { -            //! Constructor -            /*! -                \param Loc locales used for comparison -            */ -            is_iless( const std::locale& Loc=std::locale() ) : -                m_Loc( Loc ) {} - -            //! Function operator -            /*! -                Compare two operands. Case is ignored. -            */ -            template< typename T1, typename T2 > -                bool operator()( const T1& Arg1, const T2& Arg2 ) const -            { -                #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) -                    return std::toupper(Arg1)<std::toupper(Arg2); -                #else -                    return std::toupper<T1>(Arg1,m_Loc)<std::toupper<T2>(Arg2,m_Loc); -                #endif -            } - -        private: -            std::locale m_Loc; -        }; - -        //  is_not_greater functor  -----------------------------------------------// - -        //! is_not_greater functor -        /*! -            Convenient version of standard std::not_greater_to. Operation is templated, therefore it is  -            not required to specify the exact types upon the construction -         */ -        struct is_not_greater -        { -            //! Functor operation -            /*! -                Compare two operands using > operator -             */ -            template< typename T1, typename T2 > -                bool operator()( const T1& Arg1, const T2& Arg2 ) const -            { -                return Arg1<=Arg2; -            } -        }; - - -        //! case insensitive version of is_not_greater -        /*! -            Case insensitive comparison predicate. Comparison is done using -            specified locales. -        */ -        struct is_not_igreater -        { -            //! Constructor -            /*! -                \param Loc locales used for comparison -            */ -            is_not_igreater( const std::locale& Loc=std::locale() ) : -                m_Loc( Loc ) {} - -            //! Function operator -            /*! -                Compare two operands. Case is ignored. -            */ -            template< typename T1, typename T2 > -                bool operator()( const T1& Arg1, const T2& Arg2 ) const -            { -                #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) -                    return std::toupper(Arg1)<=std::toupper(Arg2); -                #else -                    return std::toupper<T1>(Arg1,m_Loc)<=std::toupper<T2>(Arg2,m_Loc); -                #endif -            } - -        private: -            std::locale m_Loc; -        }; - - -    } // namespace algorithm - -    // pull names to the boost namespace -    using algorithm::is_equal; -    using algorithm::is_iequal; -    using algorithm::is_less; -    using algorithm::is_iless; -    using algorithm::is_not_greater; -    using algorithm::is_not_igreater; - -} // namespace boost - - -#endif  // BOOST_STRING_COMPARE_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/concept.hpp b/3rdParty/Boost/boost/algorithm/string/concept.hpp deleted file mode 100644 index 9876e98..0000000 --- a/3rdParty/Boost/boost/algorithm/string/concept.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//  Boost string_algo library concept.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CONCEPT_HPP -#define BOOST_STRING_CONCEPT_HPP - -#include <boost/concept_check.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> - -/*! \file  -    Defines concepts used in string_algo library -*/ - -namespace boost { -    namespace algorithm { - -        //! Finder concept -        /*! -            Defines the Finder concept. Finder is a functor which selects -            an arbitrary part of a string. Search is performed on -            the range specified by starting and ending iterators. - -            Result of the find operation must be convertible to iterator_range. -        */ -        template<typename FinderT, typename IteratorT> -        struct FinderConcept -        { -        private: -            typedef iterator_range<IteratorT> range; -        public: -            void constraints() -            { -                // Operation -                r=(*pF)(i,i); -            } -        private: -            range r; -            IteratorT i; -            FinderT* pF;     -        }; // Finder_concept - -         -        //! Formatter concept -        /*! -            Defines the Formatter concept. Formatter is a functor, which -            takes a result from a finder operation and transforms it -            in a specific way. - -            Result must be a container supported by container_traits,  -            or a reference to it. -        */ -        template<typename FormatterT, typename FinderT, typename IteratorT> -        struct FormatterConcept -        { -        public: -            void constraints() -            { -                // Operation -                ::boost::begin((*pFo)( (*pF)(i,i) )); -                ::boost::end((*pFo)( (*pF)(i,i) )); -            } -        private: -            IteratorT i; -            FinderT* pF; -            FormatterT *pFo; -        }; // FormatterConcept; - -    } // namespace algorithm -} // namespace boost - - - - -#endif  // BOOST_STRING_CONCEPT_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/config.hpp b/3rdParty/Boost/boost/algorithm/string/config.hpp deleted file mode 100644 index 559750a..0000000 --- a/3rdParty/Boost/boost/algorithm/string/config.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//  Boost string_algo library config.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CONFIG_HPP -#define BOOST_STRING_CONFIG_HPP - -#include <boost/config.hpp> -#include <boost/detail/workaround.hpp> - -#ifdef BOOST_STRING_DEDUCED_TYPENAME -#   error "macro already defined!" -#endif - -#define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME - -// Metrowerks workaround -#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x -#pragma parse_func_templ off -#endif - -#endif  // BOOST_STRING_CONFIG_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/constants.hpp b/3rdParty/Boost/boost/algorithm/string/constants.hpp deleted file mode 100644 index 6ed70ef..0000000 --- a/3rdParty/Boost/boost/algorithm/string/constants.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//  Boost string_algo library constants.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CONSTANTS_HPP -#define BOOST_STRING_CONSTANTS_HPP - -namespace boost { -    namespace algorithm { - -    //! Token compression mode  -    /*! -        Specifies token compression mode for the token_finder. -    */ -    enum token_compress_mode_type -    { -        token_compress_on,    //!< Compress adjacent tokens -        token_compress_off  //!< Do not compress adjacent tokens -    }; -     -    } // namespace algorithm - -    // pull the names to the boost namespace -    using algorithm::token_compress_on; -    using algorithm::token_compress_off; - -} // namespace boost - -#endif  // BOOST_STRING_CONSTANTS_HPP - diff --git a/3rdParty/Boost/boost/algorithm/string/detail/case_conv.hpp b/3rdParty/Boost/boost/algorithm/string/detail/case_conv.hpp deleted file mode 100644 index 5253454..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/case_conv.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//  Boost string_algo library string_funct.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CASE_CONV_DETAIL_HPP -#define BOOST_STRING_CASE_CONV_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <locale> -#include <functional> - -namespace boost { -    namespace algorithm { -        namespace detail { - -//  case conversion functors -----------------------------------------------// - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(push) -#pragma warning(disable:4512) //assignment operator could not be generated -#endif - -            // a tolower functor -            template<typename CharT> -            struct to_lowerF : public std::unary_function<CharT, CharT> -            { -                // Constructor -                to_lowerF( const std::locale& Loc ) : m_Loc( Loc ) {} - -                // Operation -                CharT operator ()( CharT Ch ) const -                { -                    #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) -                        return std::tolower( Ch); -                    #else -                        return std::tolower<CharT>( Ch, m_Loc ); -                    #endif -                } -            private: -                const std::locale& m_Loc; -            }; - -            // a toupper functor -            template<typename CharT> -            struct to_upperF : public std::unary_function<CharT, CharT> -            { -                // Constructor -                to_upperF( const std::locale& Loc ) : m_Loc( Loc ) {} - -                // Operation -                CharT operator ()( CharT Ch ) const -                { -                    #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) -                        return std::toupper( Ch); -                    #else -                        return std::toupper<CharT>( Ch, m_Loc ); -                    #endif -                } -            private: -                const std::locale& m_Loc; -            }; - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(pop) -#endif - -// algorithm implementation ------------------------------------------------------------------------- - -            // Transform a range -            template<typename OutputIteratorT, typename RangeT, typename FunctorT> -            OutputIteratorT transform_range_copy( -                OutputIteratorT Output, -                const RangeT& Input, -                FunctorT Functor) -            { -                return std::transform(  -                    ::boost::begin(Input),  -                    ::boost::end(Input),  -                    Output, -                    Functor); -            } - -            // Transform a range (in-place) -            template<typename RangeT, typename FunctorT> -            void transform_range( -                const RangeT& Input, -                FunctorT Functor) -            { -                std::transform(  -                    ::boost::begin(Input),  -                    ::boost::end(Input),  -                    ::boost::begin(Input), -                    Functor); -            } - -            template<typename SequenceT, typename RangeT, typename FunctorT> -            inline SequenceT transform_range_copy(  -                const RangeT& Input,  -                FunctorT Functor) -            { -                return SequenceT( -                    make_transform_iterator( -                        ::boost::begin(Input), -                        Functor), -                    make_transform_iterator( -                        ::boost::end(Input),  -                        Functor)); -            } - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - - -#endif  // BOOST_STRING_CASE_CONV_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/find_format.hpp b/3rdParty/Boost/boost/algorithm/string/detail/find_format.hpp deleted file mode 100644 index 8fb625e..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/find_format.hpp +++ /dev/null @@ -1,193 +0,0 @@ -//  Boost string_algo library find_format.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -//  -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_DETAIL_HPP -#define BOOST_STRING_FIND_FORMAT_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/const_iterator.hpp> -#include <boost/range/iterator.hpp> -#include <boost/algorithm/string/detail/find_format_store.hpp> -#include <boost/algorithm/string/detail/replace_storage.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - -// find_format_copy (iterator variant) implementation -------------------------------// - -            template<  -                typename OutputIteratorT, -                typename InputT, -                typename FormatterT, -                typename FindResultT > -            inline OutputIteratorT find_format_copy_impl( -                OutputIteratorT Output, -                const InputT& Input, -                FormatterT Formatter, -                const FindResultT& FindResult ) -            {        -                return find_format_copy_impl2(  -                    Output, -                    Input, -                    Formatter, -                    FindResult, -                    Formatter(FindResult) ); -            } - -            template<  -                typename OutputIteratorT, -                typename InputT, -                typename FormatterT, -                typename FindResultT, -                typename FormatResultT > -            inline OutputIteratorT find_format_copy_impl2( -                OutputIteratorT Output, -                const InputT& Input, -                FormatterT Formatter, -                const FindResultT& FindResult, -                const FormatResultT& FormatResult ) -            {        -                typedef find_format_store< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<InputT>::type,  -                        FormatterT, -                        FormatResultT > store_type; - -                // Create store for the find result -                store_type M( FindResult, FormatResult, Formatter ); - -                if ( !M ) -                { -                    // Match not found - return original sequence -                    std::copy( ::boost::begin(Input), ::boost::end(Input), Output ); -                    return Output; -                } - -                // Copy the beginning of the sequence -                std::copy( ::boost::begin(Input), ::boost::begin(M), Output ); -                // Format find result -                // Copy formated result -                std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output ); -                // Copy the rest of the sequence -                std::copy( M.end(), ::boost::end(Input), Output ); - -                return Output; -            } - -// find_format_copy implementation --------------------------------------------------// - -            template<  -                typename InputT,  -                typename FormatterT, -                typename FindResultT > -            inline InputT find_format_copy_impl( -                const InputT& Input, -                FormatterT Formatter, -                const FindResultT& FindResult) -            { -                return find_format_copy_impl2( -                    Input, -                    Formatter, -                    FindResult, -                    Formatter(FindResult) ); -            } - -            template<  -                typename InputT,  -                typename FormatterT, -                typename FindResultT, -                typename FormatResultT > -            inline InputT find_format_copy_impl2( -                const InputT& Input, -                FormatterT Formatter, -                const FindResultT& FindResult, -                const FormatResultT& FormatResult) -            { -                typedef find_format_store< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<InputT>::type,  -                        FormatterT, -                        FormatResultT > store_type; - -                // Create store for the find result -                store_type M( FindResult, FormatResult, Formatter ); - -                if ( !M ) -                { -                    // Match not found - return original sequence -                    return InputT( Input ); -                } - -                InputT Output; -                // Copy the beginning of the sequence -                insert( Output, ::boost::end(Output), ::boost::begin(Input), M.begin() ); -                // Copy formated result -                insert( Output, ::boost::end(Output), M.format_result() ); -                // Copy the rest of the sequence -                insert( Output, ::boost::end(Output), M.end(), ::boost::end(Input) ); - -                return Output; -            } - -// replace implementation ----------------------------------------------------// -         -            template< -                typename InputT, -                typename FormatterT, -                typename FindResultT > -            inline void find_format_impl(  -                InputT& Input, -                FormatterT Formatter, -                const FindResultT& FindResult) -            { -                find_format_impl2( -                    Input, -                    Formatter, -                    FindResult, -                    Formatter(FindResult) ); -            } - -            template< -                typename InputT, -                typename FormatterT, -                typename FindResultT, -                typename FormatResultT > -            inline void find_format_impl2(  -                InputT& Input, -                FormatterT Formatter, -                const FindResultT& FindResult, -                const FormatResultT& FormatResult) -            { -                typedef find_format_store< -                    BOOST_STRING_TYPENAME  -                        range_iterator<InputT>::type,  -                        FormatterT, -                        FormatResultT > store_type; - -                // Create store for the find result -                store_type M( FindResult, FormatResult, Formatter ); - -                if ( !M ) -                { -                    // Search not found - return original sequence -                    return; -                } - -                // Replace match -                replace( Input, M.begin(), M.end(), M.format_result() ); -            } - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - -#endif  // BOOST_STRING_FIND_FORMAT_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/find_format_all.hpp b/3rdParty/Boost/boost/algorithm/string/detail/find_format_all.hpp deleted file mode 100644 index 9533be6..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/find_format_all.hpp +++ /dev/null @@ -1,263 +0,0 @@ -//  Boost string_algo library find_format_all.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP -#define BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/const_iterator.hpp> -#include <boost/range/value_type.hpp> -#include <boost/algorithm/string/detail/find_format_store.hpp> -#include <boost/algorithm/string/detail/replace_storage.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - -// find_format_all_copy (iterator variant) implementation ---------------------------// - -            template<  -                typename OutputIteratorT, -                typename InputT, -                typename FinderT, -                typename FormatterT, -                typename FindResultT > -            inline OutputIteratorT find_format_all_copy_impl( -                OutputIteratorT Output, -                const InputT& Input, -                FinderT Finder, -                FormatterT Formatter, -                const FindResultT& FindResult ) -            {        -                return find_format_all_copy_impl2(  -                    Output, -                    Input, -                    Finder, -                    Formatter, -                    FindResult, -                    Formatter(FindResult) ); -            } - -            template<  -                typename OutputIteratorT, -                typename InputT, -                typename FinderT, -                typename FormatterT, -                typename FindResultT, -                typename FormatResultT > -            inline OutputIteratorT find_format_all_copy_impl2( -                OutputIteratorT Output, -                const InputT& Input, -                FinderT Finder, -                FormatterT Formatter, -                const FindResultT& FindResult, -                const FormatResultT& FormatResult ) -            {        -                typedef BOOST_STRING_TYPENAME  -                    range_const_iterator<InputT>::type input_iterator_type;  - -                typedef find_format_store< -                        input_iterator_type,  -                        FormatterT, -                        FormatResultT > store_type; - -                // Create store for the find result -                store_type M( FindResult, FormatResult, Formatter ); - -                // Initialize last match -                input_iterator_type LastMatch=::boost::begin(Input); - -                // Iterate through all matches -                while( M ) -                { -                    // Copy the beginning of the sequence -                    std::copy( LastMatch, M.begin(), Output ); -                    // Copy formated result -                    std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output ); - -                    // Proceed to the next match -                    LastMatch=M.end(); -                    M=Finder( LastMatch, ::boost::end(Input) ); -                } - -                // Copy the rest of the sequence -                std::copy( LastMatch, ::boost::end(Input), Output ); - -                return Output; -            } - -// find_format_all_copy implementation ----------------------------------------------// - -            template<  -                typename InputT,  -                typename FinderT, -                typename FormatterT, -                typename FindResultT > -            inline InputT find_format_all_copy_impl( -                const InputT& Input, -                FinderT Finder, -                FormatterT Formatter, -                const FindResultT& FindResult) -            { -                return find_format_all_copy_impl2( -                    Input, -                    Finder, -                    Formatter, -                    FindResult, -                    Formatter(FindResult) ); -            } - -            template<  -                typename InputT,  -                typename FinderT, -                typename FormatterT, -                typename FindResultT, -                typename FormatResultT > -            inline InputT find_format_all_copy_impl2( -                const InputT& Input, -                FinderT Finder, -                FormatterT Formatter, -                const FindResultT& FindResult, -                const FormatResultT& FormatResult) -            { -                typedef BOOST_STRING_TYPENAME  -                    range_const_iterator<InputT>::type input_iterator_type;  - -                typedef find_format_store< -                        input_iterator_type,  -                        FormatterT, -                        FormatResultT > store_type; - -                // Create store for the find result -                store_type M( FindResult, FormatResult, Formatter ); - -                // Initialize last match -                input_iterator_type LastMatch=::boost::begin(Input); - -                // Output temporary -                InputT Output; - -                // Iterate through all matches -                while( M ) -                { -                    // Copy the beginning of the sequence -                    insert( Output, ::boost::end(Output), LastMatch, M.begin() ); -                    // Copy formated result -                    insert( Output, ::boost::end(Output), M.format_result() ); - -                    // Proceed to the next match -                    LastMatch=M.end(); -                    M=Finder( LastMatch, ::boost::end(Input) ); -                } - -                // Copy the rest of the sequence -                insert( Output, ::boost::end(Output), LastMatch, ::boost::end(Input) ); - -                return Output; -            } - -// find_format_all implementation ------------------------------------------------// -         -            template< -                typename InputT, -                typename FinderT, -                typename FormatterT, -                typename FindResultT > -            inline void find_format_all_impl(  -                InputT& Input, -                FinderT Finder, -                FormatterT Formatter, -                FindResultT FindResult) -            { -                find_format_all_impl2( -                    Input, -                    Finder, -                    Formatter, -                    FindResult, -                    Formatter(FindResult) ); -            } - -            template< -                typename InputT, -                typename FinderT, -                typename FormatterT, -                typename FindResultT, -                typename FormatResultT > -            inline void find_format_all_impl2(  -                InputT& Input, -                FinderT Finder, -                FormatterT Formatter, -                FindResultT FindResult, -                FormatResultT FormatResult) -            { -                typedef BOOST_STRING_TYPENAME  -                    range_iterator<InputT>::type input_iterator_type;  -                typedef find_format_store< -                        input_iterator_type,  -                        FormatterT, -                        FormatResultT > store_type; - -                // Create store for the find result -                store_type M( FindResult, FormatResult, Formatter ); -           -                // Instantiate replacement storage -                std::deque< -                    BOOST_STRING_TYPENAME range_value<InputT>::type> Storage; - -                // Initialize replacement iterators -                input_iterator_type InsertIt=::boost::begin(Input); -                input_iterator_type SearchIt=::boost::begin(Input); -                 -                while( M ) -                { -                    // process the segment -                    InsertIt=process_segment(  -                        Storage, -                        Input, -                        InsertIt, -                        SearchIt, -                        M.begin() ); -                     -                    // Adjust search iterator -                    SearchIt=M.end(); - -                    // Copy formated replace to the storage -                    copy_to_storage( Storage, M.format_result() ); - -                    // Find range for a next match -                    M=Finder( SearchIt, ::boost::end(Input) ); -                } - -                // process the last segment -                InsertIt=process_segment(  -                    Storage, -                    Input, -                    InsertIt, -                    SearchIt, -                    ::boost::end(Input) ); -                 -                if ( Storage.empty() ) -                { -                    // Truncate input -                    erase( Input, InsertIt, ::boost::end(Input) ); -                } -                else -                { -                    // Copy remaining data to the end of input -                    insert( Input, ::boost::end(Input), Storage.begin(), Storage.end() ); -                } -            } - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - -#endif  // BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/find_format_store.hpp b/3rdParty/Boost/boost/algorithm/string/detail/find_format_store.hpp deleted file mode 100644 index 2260fc2e..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/find_format_store.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//  Boost string_algo library find_format_store.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP -#define BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <boost/range/iterator_range.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - -//  temporary format and find result storage --------------------------------// - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(push) -#pragma warning(disable:4512) //assignment operator could not be generated -#endif -            template<  -                typename ForwardIteratorT, -                typename FormatterT, -                typename FormatResultT > -            class find_format_store :  -                public iterator_range<ForwardIteratorT> -            { -            public: -                // typedefs -                typedef iterator_range<ForwardIteratorT> base_type; -                typedef FormatterT  formatter_type; -                typedef FormatResultT format_result_type; -                 -            public: -                // Construction -                find_format_store(  -                        const base_type& FindResult, -                        const format_result_type& FormatResult, -                        const formatter_type& Formatter ) : -                    base_type(FindResult), -                    m_FormatResult(FormatResult), -                    m_Formatter(Formatter) {} - -                // Assignment -                template< typename FindResultT > -                find_format_store& operator=( FindResultT FindResult ) -                { -                    iterator_range<ForwardIteratorT>::operator=(FindResult); -                    m_FormatResult=m_Formatter(FindResult); -                     -                    return *this; -                } - -                // Retrieve format result -                const format_result_type& format_result() -                {    -                    return m_FormatResult; -                } - -            private: -                format_result_type m_FormatResult; -                const formatter_type& m_Formatter; -            }; - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(pop) -#endif -        } // namespace detail -    } // namespace algorithm -} // namespace boost - -#endif  // BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/finder.hpp b/3rdParty/Boost/boost/algorithm/string/detail/finder.hpp deleted file mode 100644 index c6d0752..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/finder.hpp +++ /dev/null @@ -1,646 +0,0 @@ -//  Boost string_algo library finder.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2006. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FINDER_DETAIL_HPP -#define BOOST_STRING_FINDER_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <boost/algorithm/string/constants.hpp> -#include <boost/detail/iterator.hpp> - -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/empty.hpp> -#include <boost/range/as_literal.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - - -//  find first functor -----------------------------------------------// - -            // find a subsequence in the sequence ( functor ) -            /* -                Returns a pair <begin,end> marking the subsequence in the sequence. -                If the find fails, functor returns <End,End> -            */ -            template<typename SearchIteratorT,typename PredicateT> -            struct first_finderF -            { -                typedef SearchIteratorT search_iterator_type; - -                // Construction -                template< typename SearchT > -                first_finderF( const SearchT& Search, PredicateT Comp ) : -                    m_Search(::boost::begin(Search), ::boost::end(Search)), m_Comp(Comp) {} -                first_finderF( -                        search_iterator_type SearchBegin, -                        search_iterator_type SearchEnd, -                        PredicateT Comp ) : -                    m_Search(SearchBegin, SearchEnd), m_Comp(Comp) {} - -                // Operation -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                operator()( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) const -                { -                    typedef iterator_range<ForwardIteratorT> result_type; -                    typedef ForwardIteratorT input_iterator_type; - -                    // Outer loop -                    for(input_iterator_type OuterIt=Begin; -                        OuterIt!=End; -                        ++OuterIt) -                    { -                        // Sanity check -                        if( boost::empty(m_Search) ) -                            return result_type( End, End ); - -                        input_iterator_type InnerIt=OuterIt; -                        search_iterator_type SubstrIt=m_Search.begin(); -                        for(; -                            InnerIt!=End && SubstrIt!=m_Search.end(); -                            ++InnerIt,++SubstrIt) -                        { -                            if( !( m_Comp(*InnerIt,*SubstrIt) ) ) -                                break; -                        } - -                        // Substring matching succeeded -                        if ( SubstrIt==m_Search.end() ) -                            return result_type( OuterIt, InnerIt ); -                    } - -                    return result_type( End, End ); -                } - -            private: -                iterator_range<search_iterator_type> m_Search; -                PredicateT m_Comp; -            }; - -//  find last functor -----------------------------------------------// - -            // find the last match a subseqeunce in the sequence ( functor ) -            /* -                Returns a pair <begin,end> marking the subsequence in the sequence. -                If the find fails, returns <End,End> -            */ -            template<typename SearchIteratorT, typename PredicateT> -            struct last_finderF -            { -                typedef SearchIteratorT search_iterator_type; -                typedef first_finderF< -                    search_iterator_type, -                    PredicateT> first_finder_type; - -                // Construction -                template< typename SearchT > -                last_finderF( const SearchT& Search, PredicateT Comp ) : -                    m_Search(::boost::begin(Search), ::boost::end(Search)), m_Comp(Comp) {} -                last_finderF( -                        search_iterator_type SearchBegin, -                        search_iterator_type SearchEnd, -                        PredicateT Comp ) : -                    m_Search(SearchBegin, SearchEnd), m_Comp(Comp) {} - -                // Operation -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                operator()( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) const -                { -                    typedef iterator_range<ForwardIteratorT> result_type; - -                    if( boost::empty(m_Search) ) -                        return result_type( End, End ); - -                    typedef BOOST_STRING_TYPENAME boost::detail:: -                        iterator_traits<ForwardIteratorT>::iterator_category category; - -                    return findit( Begin, End, category() ); -                } - -            private: -                // forward iterator -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                findit( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End, -                    std::forward_iterator_tag ) const -                { -                    typedef ForwardIteratorT input_iterator_type; -                    typedef iterator_range<ForwardIteratorT> result_type; - -                    first_finder_type first_finder( -                        m_Search.begin(), m_Search.end(), m_Comp ); - -                    result_type M=first_finder( Begin, End ); -                    result_type Last=M; - -                    while( M ) -                    { -                        Last=M; -                        M=first_finder( ::boost::end(M), End ); -                    } - -                    return Last; -                } - -                // bidirectional iterator -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                findit( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End, -                    std::bidirectional_iterator_tag ) const -                { -                    typedef iterator_range<ForwardIteratorT> result_type; -                    typedef ForwardIteratorT input_iterator_type; - -                    // Outer loop -                    for(input_iterator_type OuterIt=End; -                        OuterIt!=Begin; ) -                    { -                        input_iterator_type OuterIt2=--OuterIt; - -                        input_iterator_type InnerIt=OuterIt2; -                        search_iterator_type SubstrIt=m_Search.begin(); -                        for(; -                            InnerIt!=End && SubstrIt!=m_Search.end(); -                            ++InnerIt,++SubstrIt) -                        { -                            if( !( m_Comp(*InnerIt,*SubstrIt) ) ) -                                break; -                        } - -                        // Substring matching succeeded -                        if( SubstrIt==m_Search.end() ) -                            return result_type( OuterIt2, InnerIt ); -                    } - -                    return result_type( End, End ); -                } - -            private: -                iterator_range<search_iterator_type> m_Search; -                PredicateT m_Comp; -            }; - -//  find n-th functor -----------------------------------------------// - -            // find the n-th match of a subsequence in the sequence ( functor ) -            /* -                Returns a pair <begin,end> marking the subsequence in the sequence. -                If the find fails, returns <End,End> -            */ -            template<typename SearchIteratorT, typename PredicateT> -            struct nth_finderF -            { -                typedef SearchIteratorT search_iterator_type; -                typedef first_finderF< -                    search_iterator_type, -                    PredicateT> first_finder_type; -                typedef last_finderF< -                    search_iterator_type, -                    PredicateT> last_finder_type; - -                // Construction -                template< typename SearchT > -                nth_finderF( -                        const SearchT& Search, -                        int Nth, -                        PredicateT Comp) : -                    m_Search(::boost::begin(Search), ::boost::end(Search)), -                    m_Nth(Nth), -                    m_Comp(Comp) {} -                nth_finderF( -                        search_iterator_type SearchBegin, -                        search_iterator_type SearchEnd, -                        int Nth, -                        PredicateT Comp) : -                    m_Search(SearchBegin, SearchEnd), -                    m_Nth(Nth), -                    m_Comp(Comp) {} - -                // Operation -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                operator()( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) const -                { -                    if(m_Nth>=0) -                    { -                        return find_forward(Begin, End, m_Nth); -                    } -                    else -                    { -                        return find_backward(Begin, End, -m_Nth); -                    } - -                } - -            private: -                // Implementation helpers -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                find_forward( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End, -                    unsigned int N) const -                { -                    typedef ForwardIteratorT input_iterator_type; -                    typedef iterator_range<ForwardIteratorT> result_type; - -                    // Sanity check -                    if( boost::empty(m_Search) ) -                        return result_type( End, End ); - -                    // Instantiate find functor -                    first_finder_type first_finder( -                        m_Search.begin(), m_Search.end(), m_Comp ); - -                    result_type M( Begin, Begin ); - -                    for( unsigned int n=0; n<=N; ++n ) -                    { -                        // find next match -                        M=first_finder( ::boost::end(M), End ); - -                        if ( !M ) -                        { -                            // Subsequence not found, return -                            return M; -                        } -                    } - -                    return M; -                } - -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                find_backward( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End, -                    unsigned int N) const -                { -                    typedef ForwardIteratorT input_iterator_type; -                    typedef iterator_range<ForwardIteratorT> result_type; - -                    // Sanity check -                    if( boost::empty(m_Search) ) -                        return result_type( End, End ); - -                    // Instantiate find functor -                    last_finder_type last_finder( -                        m_Search.begin(), m_Search.end(), m_Comp ); - -                    result_type M( End, End ); - -                    for( unsigned int n=1; n<=N; ++n ) -                    { -                        // find next match -                        M=last_finder( Begin, ::boost::begin(M) ); - -                        if ( !M ) -                        { -                            // Subsequence not found, return -                            return M; -                        } -                    } - -                    return M; -                } - - -            private: -                iterator_range<search_iterator_type> m_Search; -                int m_Nth; -                PredicateT m_Comp; -            }; - -//  find head/tail implementation helpers ---------------------------// - -            template<typename ForwardIteratorT> -                iterator_range<ForwardIteratorT> -            find_head_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N, -                std::forward_iterator_tag ) -            { -                typedef ForwardIteratorT input_iterator_type; -                typedef iterator_range<ForwardIteratorT> result_type; - -                input_iterator_type It=Begin; -                for( -                    unsigned int Index=0; -                    Index<N && It!=End; ++Index,++It ) {}; - -                return result_type( Begin, It ); -            } - -            template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -            find_head_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N, -                std::random_access_iterator_tag ) -            { -                typedef ForwardIteratorT input_iterator_type; -                typedef iterator_range<ForwardIteratorT> result_type; - -                if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) ) -                    return result_type( Begin, End ); - -                return result_type(Begin,Begin+N); -            } - -            // Find head implementation -            template<typename ForwardIteratorT> -                iterator_range<ForwardIteratorT> -            find_head_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N ) -            { -                typedef BOOST_STRING_TYPENAME boost::detail:: -                    iterator_traits<ForwardIteratorT>::iterator_category category; - -                return find_head_impl( Begin, End, N, category() ); -            } - -            template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -            find_tail_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N, -                std::forward_iterator_tag ) -            { -                typedef ForwardIteratorT input_iterator_type; -                typedef iterator_range<ForwardIteratorT> result_type; - -                unsigned int Index=0; -                input_iterator_type It=Begin; -                input_iterator_type It2=Begin; - -                // Advance It2 by N increments -                for( Index=0; Index<N && It2!=End; ++Index,++It2 ) {}; - -                // Advance It, It2 to the end -                for(; It2!=End; ++It,++It2 ) {}; - -                return result_type( It, It2 ); -            } - -            template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -            find_tail_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N, -                std::bidirectional_iterator_tag ) -            { -                typedef ForwardIteratorT input_iterator_type; -                typedef iterator_range<ForwardIteratorT> result_type; - -                input_iterator_type It=End; -                for( -                    unsigned int Index=0; -                    Index<N && It!=Begin; ++Index,--It ) {}; - -                return result_type( It, End ); -            } - -            template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -            find_tail_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N, -                std::random_access_iterator_tag ) -            { -                typedef ForwardIteratorT input_iterator_type; -                typedef iterator_range<ForwardIteratorT> result_type; - -                if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) ) -                    return result_type( Begin, End ); - -                return result_type( End-N, End ); -            } - -                        // Operation -            template< typename ForwardIteratorT > -            iterator_range<ForwardIteratorT> -            find_tail_impl( -                ForwardIteratorT Begin, -                ForwardIteratorT End, -                unsigned int N ) -            { -                typedef BOOST_STRING_TYPENAME boost::detail:: -                    iterator_traits<ForwardIteratorT>::iterator_category category; - -                return find_tail_impl( Begin, End, N, category() ); -            } - - - -//  find head functor -----------------------------------------------// - - -            // find a head in the sequence ( functor ) -            /* -                This functor find a head of the specified range. For -                a specified N, the head is a subsequence of N starting -                elements of the range. -            */ -            struct head_finderF -            { -                // Construction -                head_finderF( int N ) : m_N(N) {} - -                // Operation -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                operator()( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) const -                { -                    if(m_N>=0) -                    { -                        return find_head_impl( Begin, End, m_N ); -                    } -                    else -                    { -                        iterator_range<ForwardIteratorT> Res= -                            find_tail_impl( Begin, End, -m_N ); - -                        return make_iterator_range(Begin, Res.begin()); -                    } -                } - -            private: -                int m_N; -            }; - -//  find tail functor -----------------------------------------------// - - -            // find a tail in the sequence ( functor ) -            /* -                This functor find a tail of the specified range. For -                a specified N, the head is a subsequence of N starting -                elements of the range. -            */ -            struct tail_finderF -            { -                // Construction -                tail_finderF( int N ) : m_N(N) {} - -                // Operation -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                operator()( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) const -                { -                    if(m_N>=0) -                    { -                        return find_tail_impl( Begin, End, m_N ); -                    } -                    else -                    { -                        iterator_range<ForwardIteratorT> Res= -                            find_head_impl( Begin, End, -m_N ); - -                        return make_iterator_range(Res.end(), End); -                    } -                } - -            private: -                int m_N; -            }; - -//  find token functor -----------------------------------------------// - -            // find a token in a sequence ( functor ) -            /* -                This find functor finds a token specified be a predicate -                in a sequence. It is equivalent of std::find algorithm, -                with an exception that it return range instead of a single -                iterator. - -                If bCompress is set to true, adjacent matching tokens are -                concatenated into one match. -            */ -            template< typename PredicateT > -            struct token_finderF -            { -                // Construction -                token_finderF( -                    PredicateT Pred, -                    token_compress_mode_type eCompress=token_compress_off ) : -                        m_Pred(Pred), m_eCompress(eCompress) {} - -                // Operation -                template< typename ForwardIteratorT > -                iterator_range<ForwardIteratorT> -                operator()( -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) const -                { -                    typedef iterator_range<ForwardIteratorT> result_type; - -                    ForwardIteratorT It=std::find_if( Begin, End, m_Pred ); - -                    if( It==End ) -                    { -                        return result_type( End, End ); -                    } -                    else -                    { -                        ForwardIteratorT It2=It; - -                        if( m_eCompress==token_compress_on ) -                        { -                            // Find first non-matching character -                            while( It2!=End && m_Pred(*It2) ) ++It2; -                        } -                        else -                        { -                            // Advance by one position -                            ++It2; -                        } - -                        return result_type( It, It2 ); -                    } -                } - -            private: -                PredicateT m_Pred; -                token_compress_mode_type m_eCompress; -            }; - -//  find range functor -----------------------------------------------// - -            // find a range in the sequence ( functor ) -            /* -                This functor actually does not perform any find operation. -                It always returns given iterator range as a result. -            */ -            template<typename ForwardIterator1T> -            struct range_finderF -            { -                typedef ForwardIterator1T input_iterator_type; -                typedef iterator_range<input_iterator_type> result_type; - -                // Construction -                range_finderF( -                    input_iterator_type Begin, -                    input_iterator_type End ) : m_Range(Begin, End) {} - -                range_finderF(const iterator_range<input_iterator_type>& Range) : -                    m_Range(Range) {} - -                // Operation -                template< typename ForwardIterator2T > -                iterator_range<ForwardIterator2T> -                operator()( -                    ForwardIterator2T, -                    ForwardIterator2T ) const -                { -#if BOOST_WORKAROUND( __MWERKS__, <= 0x3003 )  -                    return iterator_range<const ForwardIterator2T>(this->m_Range); -#elif BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -                    return iterator_range<ForwardIterator2T>(m_Range.begin(), m_Range.end()); -#else -                    return m_Range; -#endif -                } - -            private: -                iterator_range<input_iterator_type> m_Range; -            }; - - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - -#endif  // BOOST_STRING_FINDER_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/formatter.hpp b/3rdParty/Boost/boost/algorithm/string/detail/formatter.hpp deleted file mode 100644 index bd6a780..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/formatter.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//  Boost string_algo library formatter.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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 for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FORMATTER_DETAIL_HPP -#define BOOST_STRING_FORMATTER_DETAIL_HPP - - -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/const_iterator.hpp> - -#include <boost/algorithm/string/detail/util.hpp> - -//  generic replace functors -----------------------------------------------// - -namespace boost { -    namespace algorithm { -        namespace detail { - -//  const format functor ----------------------------------------------------// - -            // constant format functor -            template<typename RangeT> -            struct const_formatF -            { -            private: -                typedef BOOST_STRING_TYPENAME -                    range_const_iterator<RangeT>::type format_iterator; -                typedef iterator_range<format_iterator> result_type; -             -            public: -                // Construction -                const_formatF(const RangeT& Format) : -                    m_Format(::boost::begin(Format), ::boost::end(Format)) {} - -                // Operation -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -                template<typename Range2T> -                result_type& operator()(const Range2T&) -                { -                    return m_Format; -                } -#endif - -                template<typename Range2T> -                const result_type& operator()(const Range2T&) const -                { -                    return m_Format; -                } - -            private: -                result_type m_Format; -            }; - -//  identity format functor ----------------------------------------------------// - -            // identity format functor -            template<typename RangeT> -            struct identity_formatF -            { -                // Operation -                template< typename Range2T > -                const RangeT& operator()(const Range2T& Replace) const -                { -                    return RangeT(::boost::begin(Replace), ::boost::end(Replace)); -                } -            }; - -//  empty format functor ( used by erase ) ------------------------------------// -         -            // empty format functor -            template< typename CharT > -            struct empty_formatF -            { -                template< typename ReplaceT > -                empty_container<CharT> operator()(const ReplaceT&) const -                { -                    return empty_container<CharT>(); -                } -            }; - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - -#endif  // BOOST_STRING_FORMATTER_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/replace_storage.hpp b/3rdParty/Boost/boost/algorithm/string/detail/replace_storage.hpp deleted file mode 100644 index 7aff247..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/replace_storage.hpp +++ /dev/null @@ -1,159 +0,0 @@ -//  Boost string_algo library replace_storage.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP -#define BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <algorithm> -#include <boost/mpl/bool.hpp> -#include <boost/algorithm/string/sequence_traits.hpp> -#include <boost/algorithm/string/detail/sequence.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - -//  storage handling routines -----------------------------------------------// -             -            template< typename StorageT, typename OutputIteratorT > -            inline OutputIteratorT move_from_storage( -                StorageT& Storage, -                OutputIteratorT DestBegin, -                OutputIteratorT DestEnd ) -            { -                OutputIteratorT OutputIt=DestBegin; -                 -                while( !Storage.empty() && OutputIt!=DestEnd ) -                { -                    *OutputIt=Storage.front(); -                    Storage.pop_front(); -                    ++OutputIt; -                } - -                return OutputIt; -            } - -            template< typename StorageT, typename WhatT > -            inline void copy_to_storage( -                StorageT& Storage, -                const WhatT& What ) -            { -                Storage.insert( Storage.end(), ::boost::begin(What), ::boost::end(What) ); -            } - - -//  process segment routine -----------------------------------------------// - -            template< bool HasStableIterators > -            struct process_segment_helper -            { -                // Optimized version of process_segment for generic sequence -                template<  -                    typename StorageT, -                    typename InputT, -                    typename ForwardIteratorT > -                ForwardIteratorT operator()( -                    StorageT& Storage, -                    InputT& /*Input*/, -                    ForwardIteratorT InsertIt, -                    ForwardIteratorT SegmentBegin, -                    ForwardIteratorT SegmentEnd ) -                { -                    // Copy data from the storage until the beginning of the segment -                    ForwardIteratorT It=move_from_storage( Storage, InsertIt, SegmentBegin ); - -                    // 3 cases are possible : -                    //   a) Storage is empty, It==SegmentBegin -                    //   b) Storage is empty, It!=SegmentBegin -                    //   c) Storage is not empty - -                    if( Storage.empty() ) -                    { -                        if( It==SegmentBegin ) -                        { -                            // Case a) everything is grand, just return end of segment -                            return SegmentEnd; -                        } -                        else -                        { -                            // Case b) move the segment backwards -                            return std::copy( SegmentBegin, SegmentEnd, It ); -                        } -                    } -                    else -                    { -                        // Case c) -> shift the segment to the left and keep the overlap in the storage -                        while( It!=SegmentEnd ) -                        { -                            // Store value into storage -                            Storage.push_back( *It ); -                            // Get the top from the storage and put it here -                            *It=Storage.front(); -                            Storage.pop_front(); - -                            // Advance -                            ++It; -                        } - -                        return It; -                    } -                } -            }; - -            template<> -            struct process_segment_helper< true > -            { -                // Optimized version of process_segment for list-like sequence -                template<  -                    typename StorageT, -                    typename InputT, -                    typename ForwardIteratorT > -                ForwardIteratorT operator()( -                    StorageT& Storage, -                    InputT& Input, -                    ForwardIteratorT InsertIt, -                    ForwardIteratorT SegmentBegin, -                    ForwardIteratorT SegmentEnd ) - -                { -                    // Call replace to do the job -                    replace( Input, InsertIt, SegmentBegin, Storage ); -                    // Empty the storage -                    Storage.clear(); -                    // Iterators were not changed, simply return the end of segment -                    return SegmentEnd; -                } -            }; - -            // Process one segment in the replace_all algorithm -            template<  -                typename StorageT, -                typename InputT, -                typename ForwardIteratorT > -            inline ForwardIteratorT process_segment( -                StorageT& Storage, -                InputT& Input, -                ForwardIteratorT InsertIt, -                ForwardIteratorT SegmentBegin, -                ForwardIteratorT SegmentEnd ) -            { -                return  -                    process_segment_helper<  -                        has_stable_iterators<InputT>::value>()( -                                Storage, Input, InsertIt, SegmentBegin, SegmentEnd ); -            } -             - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - -#endif  // BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/sequence.hpp b/3rdParty/Boost/boost/algorithm/string/detail/sequence.hpp deleted file mode 100644 index de01350..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/sequence.hpp +++ /dev/null @@ -1,200 +0,0 @@ -//  Boost string_algo library sequence.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_DETAIL_SEQUENCE_HPP -#define BOOST_STRING_DETAIL_SEQUENCE_HPP - -#include <boost/algorithm/string/config.hpp> -#include <boost/mpl/bool.hpp> -#include <boost/mpl/logical.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> - -#include <boost/algorithm/string/sequence_traits.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - -//  insert helpers  -------------------------------------------------// -         -            template< typename InputT, typename ForwardIteratorT > -            inline void insert( -                InputT& Input, -                BOOST_STRING_TYPENAME InputT::iterator At, -                ForwardIteratorT Begin, -                ForwardIteratorT End ) -            { -                Input.insert( At, Begin, End ); -            } - -            template< typename InputT, typename InsertT > -            inline void insert( -                InputT& Input, -                BOOST_STRING_TYPENAME InputT::iterator At, -                const InsertT& Insert ) -            { -                insert( Input, At, ::boost::begin(Insert), ::boost::end(Insert) ); -            } -            -//  erase helper  ---------------------------------------------------// - -            // Erase a range in the sequence -            /* -                Returns the iterator pointing just after the erase subrange -            */ -            template< typename InputT > -            inline typename InputT::iterator erase( -                InputT& Input, -                BOOST_STRING_TYPENAME InputT::iterator From, -                BOOST_STRING_TYPENAME InputT::iterator To ) -            { -                return Input.erase( From, To ); -            } - -//  replace helper implementation  ----------------------------------// - -            // Optimized version of replace for generic sequence containers -            // Assumption: insert and erase are expensive -            template< bool HasConstTimeOperations > -            struct replace_const_time_helper -            { -                template< typename InputT, typename ForwardIteratorT > -                void operator()( -                    InputT& Input, -                    BOOST_STRING_TYPENAME InputT::iterator From, -                    BOOST_STRING_TYPENAME InputT::iterator To, -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) -                { -                    // Copy data to the container ( as much as possible ) -                    ForwardIteratorT InsertIt=Begin; -                    BOOST_STRING_TYPENAME InputT::iterator InputIt=From; -                    for(; InsertIt!=End && InputIt!=To; InsertIt++, InputIt++ ) -                    { -                        *InputIt=*InsertIt; -                    } - -                    if ( InsertIt!=End ) -                    { -                        // Replace sequence is longer, insert it -                        Input.insert( InputIt, InsertIt, End ); -                    } -                    else -                    { -                        if ( InputIt!=To ) -                        { -                            // Replace sequence is shorter, erase the rest -                            Input.erase( InputIt, To ); -                        } -                    } -                } -            }; - -            template<> -            struct replace_const_time_helper< true > -            { -                // Const-time erase and insert methods -> use them -                template< typename InputT, typename ForwardIteratorT > -                void operator()( -                    InputT& Input, -                    BOOST_STRING_TYPENAME InputT::iterator From, -                    BOOST_STRING_TYPENAME InputT::iterator To, -                    ForwardIteratorT Begin, -                    ForwardIteratorT End )  -                { -                    BOOST_STRING_TYPENAME InputT::iterator At=Input.erase( From, To ); -                    if ( Begin!=End ) -                    { -                        if(!Input.empty()) -                        { -                            Input.insert( At, Begin, End ); -                        } -                        else -                        { -                            Input.insert( Input.begin(), Begin, End ); -                        } -                    } -                } -            }; - -            // No native replace method -            template< bool HasNative > -            struct replace_native_helper -            { -                template< typename InputT, typename ForwardIteratorT > -                void operator()( -                    InputT& Input, -                    BOOST_STRING_TYPENAME InputT::iterator From, -                    BOOST_STRING_TYPENAME InputT::iterator To, -                    ForwardIteratorT Begin, -                    ForwardIteratorT End )  -                { -                    replace_const_time_helper<  -                        boost::mpl::and_< -                            has_const_time_insert<InputT>, -                            has_const_time_erase<InputT> >::value >()( -                        Input, From, To, Begin, End ); -                } -            }; - -            // Container has native replace method -            template<> -            struct replace_native_helper< true > -            { -                template< typename InputT, typename ForwardIteratorT > -                void operator()( -                    InputT& Input, -                    BOOST_STRING_TYPENAME InputT::iterator From, -                    BOOST_STRING_TYPENAME InputT::iterator To, -                    ForwardIteratorT Begin, -                    ForwardIteratorT End ) -                { -                    Input.replace( From, To, Begin, End ); -                } -            }; - -//  replace helper  -------------------------------------------------// -         -            template< typename InputT, typename ForwardIteratorT > -            inline void replace( -                InputT& Input, -                BOOST_STRING_TYPENAME InputT::iterator From, -                BOOST_STRING_TYPENAME InputT::iterator To, -                ForwardIteratorT Begin, -                ForwardIteratorT End ) -            { -                replace_native_helper< has_native_replace<InputT>::value >()( -                    Input, From, To, Begin, End ); -            } - -            template< typename InputT, typename InsertT > -            inline void replace( -                InputT& Input, -                BOOST_STRING_TYPENAME InputT::iterator From, -                BOOST_STRING_TYPENAME InputT::iterator To, -                const InsertT& Insert ) -            { -                if(From!=To) -                { -                    replace( Input, From, To, ::boost::begin(Insert), ::boost::end(Insert) ); -                } -                else -                { -                    insert( Input, From, ::boost::begin(Insert), ::boost::end(Insert) ); -                } -            } - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - - -#endif  // BOOST_STRING_DETAIL_SEQUENCE_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/detail/util.hpp b/3rdParty/Boost/boost/algorithm/string/detail/util.hpp deleted file mode 100644 index 7e8471f..0000000 --- a/3rdParty/Boost/boost/algorithm/string/detail/util.hpp +++ /dev/null @@ -1,106 +0,0 @@ -//  Boost string_algo library util.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_UTIL_DETAIL_HPP -#define BOOST_STRING_UTIL_DETAIL_HPP - -#include <boost/algorithm/string/config.hpp> -#include <functional> -#include <boost/range/iterator_range.hpp> - -namespace boost { -    namespace algorithm { -        namespace detail { - -//  empty container  -----------------------------------------------// - -            //  empty_container  -            /* -                This class represents always empty container, -                containing elements of type CharT. - -                It is supposed to be used in a const version only -            */ -            template< typename CharT > -            struct empty_container  -            { -                typedef empty_container<CharT> type;         -                typedef CharT value_type; -                typedef std::size_t size_type; -                typedef std::ptrdiff_t difference_type; -                typedef const value_type& reference; -                typedef const value_type& const_reference; -                typedef const value_type* iterator; -                typedef const value_type* const_iterator; - -                 -                // Operations -                const_iterator begin() const -                { -                    return reinterpret_cast<const_iterator>(0); -                } - -                const_iterator end() const -                { -                    return reinterpret_cast<const_iterator>(0); -                } - -                bool empty() const -                { -                    return false; -                } - -                size_type size() const -                { -                    return 0; -                } -            }; -     -//  bounded copy algorithm  -----------------------------------------------// - -            // Bounded version of the std::copy algorithm -            template<typename InputIteratorT, typename OutputIteratorT> -            inline OutputIteratorT bounded_copy( -                InputIteratorT First,  -                InputIteratorT Last,  -                OutputIteratorT DestFirst, -                OutputIteratorT DestLast ) -            { -                InputIteratorT InputIt=First; -                OutputIteratorT OutputIt=DestFirst; -                for(; InputIt!=Last && OutputIt!=DestLast; InputIt++, OutputIt++ ) -                { -                    *OutputIt=*InputIt; -                } - -                return OutputIt; -            } - -//  iterator range utilities -----------------------------------------// - -            // copy range functor -            template<  -                typename SeqT,  -                typename IteratorT=BOOST_STRING_TYPENAME SeqT::const_iterator > -            struct copy_iterator_rangeF :  -                public std::unary_function< iterator_range<IteratorT>, SeqT > -            { -                SeqT operator()( const iterator_range<IteratorT>& Range ) const -                { -                    return copy_range<SeqT>(Range); -                } -            }; - -        } // namespace detail -    } // namespace algorithm -} // namespace boost - - -#endif  // BOOST_STRING_UTIL_DETAIL_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/erase.hpp b/3rdParty/Boost/boost/algorithm/string/erase.hpp deleted file mode 100644 index b50323b..0000000 --- a/3rdParty/Boost/boost/algorithm/string/erase.hpp +++ /dev/null @@ -1,844 +0,0 @@ -//  Boost string_algo library erase.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2006. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_ERASE_HPP -#define BOOST_STRING_ERASE_HPP - -#include <boost/algorithm/string/config.hpp> - -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/iterator.hpp> -#include <boost/range/const_iterator.hpp> - -#include <boost/algorithm/string/find_format.hpp> -#include <boost/algorithm/string/finder.hpp> -#include <boost/algorithm/string/formatter.hpp> - -/*! \file -    Defines various erase algorithms. Each algorithm removes -    part(s) of the input according to a searching criteria. -*/ - -namespace boost { -    namespace algorithm { - -//  erase_range -------------------------------------------------------// - -        //! Erase range algorithm -        /*! -            Remove the given range from the input. The result is a modified copy of  -            the input. It is returned as a sequence or copied to the output iterator. -     -            \param Output An output iterator to which the result will be copied -            \param Input An input sequence -            \param SearchRange A range in the input to be removed -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template<typename OutputIteratorT, typename RangeT> -        inline OutputIteratorT erase_range_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            const iterator_range< -                BOOST_STRING_TYPENAME  -                    range_const_iterator<RangeT>::type>& SearchRange ) -        { -            return find_format_copy( -                Output, -                Input, -                range_finder(SearchRange), -                empty_formatter(Input) ); -        } - -        //! Erase range algorithm -        /*! -            \overload -        */ -        template<typename SequenceT> -        inline SequenceT erase_range_copy(  -            const SequenceT& Input, -            const iterator_range< -                BOOST_STRING_TYPENAME  -                    range_const_iterator<SequenceT>::type>& SearchRange ) -        { -            return find_format_copy(  -                Input, -                range_finder(SearchRange), -                empty_formatter(Input) ); -        } - -        //! Erase range algorithm -        /*! -            Remove the given range from the input. -            The input sequence is modified in-place. - -            \param Input An input sequence -            \param SearchRange A range in the input to be removed -        */ -        template<typename SequenceT> -        inline void erase_range(  -            SequenceT& Input, -            const iterator_range< -                BOOST_STRING_TYPENAME  -                    range_iterator<SequenceT>::type>& SearchRange ) -        { -            find_format(  -                Input,  -                range_finder(SearchRange), -                empty_formatter(Input) ); -        } - -//  erase_first  --------------------------------------------------------// - -        //! Erase first algorithm -        /*! -            Remove the first occurrence of the substring from the input. -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input -             -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT erase_first_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search ) -        { -            return find_format_copy( -                Output, -                Input, -                first_finder(Search), -                empty_formatter(Input) ); -        } - -        //! Erase first algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT erase_first_copy(  -            const SequenceT& Input, -            const RangeT& Search ) -        { -            return find_format_copy(  -                Input,  -                first_finder(Search), -                empty_formatter(Input) ); -        } - -        //! Erase first algorithm -        /*! -            Remove the first occurrence of the substring from the input.  -            The input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for.  -        */ -        template<typename SequenceT, typename RangeT> -        inline void erase_first(  -            SequenceT& Input, -            const RangeT& Search ) -        { -            find_format(  -                Input,  -                first_finder(Search), -                empty_formatter(Input) ); -        } - -//  erase_first ( case insensitive ) ------------------------------------// - -        //! Erase first algorithm ( case insensitive ) -        /*! -            Remove the first occurrence of the substring from the input.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT ierase_first_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy( -                Output, -                Input, -                first_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase first algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT ierase_first_copy(  -            const SequenceT& Input, -            const RangeT& Search, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy(  -                Input,  -                first_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase first algorithm ( case insensitive ) -        /*! -            Remove the first occurrence of the substring from the input.  -            The input sequence is modified in-place. Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename RangeT> -        inline void ierase_first(  -            SequenceT& Input, -            const RangeT& Search, -            const std::locale& Loc=std::locale() ) -        { -            find_format(  -                Input,  -                first_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -//  erase_last  --------------------------------------------------------// - -        //! Erase last algorithm -        /*! -            Remove the last occurrence of the substring from the input.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for. -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT erase_last_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search ) -        { -            return find_format_copy( -                Output, -                Input, -                last_finder(Search), -                empty_formatter(Input) ); -        } - -        //! Erase last algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT erase_last_copy(  -            const SequenceT& Input, -            const RangeT& Search ) -        { -            return find_format_copy(  -                Input,  -                last_finder(Search), -                empty_formatter(Input) ); -        } - -        //! Erase last algorithm -        /*! -            Remove the last occurrence of the substring from the input.  -            The input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for  -        */ -        template<typename SequenceT, typename RangeT> -        inline void erase_last(  -            SequenceT& Input, -            const RangeT& Search ) -        { -            find_format(  -                Input,  -                last_finder(Search), -                empty_formatter(Input) ); -        } - -//  erase_last ( case insensitive ) ------------------------------------// - -        //! Erase last algorithm ( case insensitive ) -        /*! -            Remove the last occurrence of the substring from the input.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT ierase_last_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy( -                Output, -                Input, -                last_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase last algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT ierase_last_copy(  -            const SequenceT& Input, -            const RangeT& Search, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy(  -                Input,  -                last_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase last algorithm ( case insensitive ) -        /*! -            Remove the last occurrence of the substring from the input.  -            The input sequence is modified in-place. Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename RangeT> -        inline void ierase_last(  -            SequenceT& Input, -            const RangeT& Search, -            const std::locale& Loc=std::locale() ) -        { -            find_format(  -                Input,  -                last_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -//  erase_nth --------------------------------------------------------------------// - -        //! Erase nth algorithm -        /*! -            Remove the Nth occurrence of the substring in the input. -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -             - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT erase_nth_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            int Nth ) -        { -            return find_format_copy( -                Output, -                Input, -                nth_finder(Search, Nth), -                empty_formatter(Input) ); -        } - -        //! Erase nth algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT erase_nth_copy(  -            const SequenceT& Input, -            const RangeT& Search, -            int Nth ) -        { -            return find_format_copy(  -                Input,  -                nth_finder(Search, Nth), -                empty_formatter(Input) ); -        } - -        //! Erase nth algorithm -        /*! -            Remove the Nth occurrence of the substring in the input. -            The input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for.  -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -        */ -        template<typename SequenceT, typename RangeT> -        inline void erase_nth(  -            SequenceT& Input, -            const RangeT& Search, -            int Nth ) -        { -            find_format(  -                Input,  -                nth_finder(Search, Nth), -                empty_formatter(Input) ); -        } - -//  erase_nth ( case insensitive ) ---------------------------------------------// - -        //! Erase nth algorithm ( case insensitive ) -        /*! -            Remove the Nth occurrence of the substring in the input. -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator.  -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for. -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT ierase_nth_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            int Nth, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy( -                Output, -                Input, -                nth_finder(Search, Nth, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase nth algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT ierase_nth_copy(  -            const SequenceT& Input, -            const RangeT& Search, -            int Nth, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy(  -                Input,  -                nth_finder(Search, Nth, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase nth algorithm -        /*! -            Remove the Nth occurrence of the substring in the input. -            The input sequence is modified in-place. Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for.  -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename RangeT> -        inline void ierase_nth(  -            SequenceT& Input, -            const RangeT& Search, -            int Nth, -            const std::locale& Loc=std::locale() ) -        { -            find_format(  -                Input,  -                nth_finder(Search, Nth, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - - -//  erase_all  --------------------------------------------------------// - -        //! Erase all algorithm -        /*! -            Remove all the occurrences of the string from the input.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -                         - -            \param Output An output iterator to which the result will be copied -            \param Input An input sequence -            \param Search A substring to be searched for.  -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT erase_all_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search ) -        { -            return find_format_all_copy( -                Output, -                Input, -                first_finder(Search), -                empty_formatter(Input) ); -        } - -        //! Erase all algorithm -        /*! -            \overload -        */   -        template<typename SequenceT, typename RangeT> -        inline SequenceT erase_all_copy(  -            const SequenceT& Input, -            const RangeT& Search ) -        { -            return find_format_all_copy(  -                Input,  -                first_finder(Search), -                empty_formatter(Input) ); -        } - -        //! Erase all algorithm -        /*! -            Remove all the occurrences of the string from the input.  -            The input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for.  -        */ -        template<typename SequenceT, typename RangeT> -        inline void erase_all(  -            SequenceT& Input, -            const RangeT& Search ) -        { -            find_format_all(  -                Input,  -                first_finder(Search), -                empty_formatter(Input) ); -        } - -//  erase_all ( case insensitive ) ------------------------------------// - -        //! Erase all algorithm ( case insensitive ) -        /*! -            Remove all the occurrences of the string from the input.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator.  -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input - -              \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT ierase_all_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_all_copy( -                Output, -                Input, -                first_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase all algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT ierase_all_copy(  -            const SequenceT& Input, -            const RangeT& Search, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_all_copy(  -                Input,  -                first_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -        //! Erase all algorithm ( case insensitive ) -        /*! -            Remove all the occurrences of the string from the input.  -            The input sequence is modified in-place. Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for.  -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename RangeT> -        inline void ierase_all(  -            SequenceT& Input, -            const RangeT& Search, -            const std::locale& Loc=std::locale() ) -        { -            find_format_all(  -                Input,  -                first_finder(Search, is_iequal(Loc)), -                empty_formatter(Input) ); -        } - -//  erase_head --------------------------------------------------------------------// - -        //! Erase head algorithm -        /*! -            Remove the head from the input. The head is a prefix of a sequence of given size.  -            If the sequence is shorter then required, the whole string is  -            considered to be the head. The result is a modified copy of the input.  -            It is returned as a sequence or copied to the output iterator. -             - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param N Length of the head. -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename RangeT> -        inline OutputIteratorT erase_head_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            int N ) -        { -            return find_format_copy( -                Output, -                Input, -                head_finder(N), -                empty_formatter( Input ) ); -        } - -        //! Erase head algorithm -        /*! -            \overload -        */ -        template<typename SequenceT> -        inline SequenceT erase_head_copy(  -            const SequenceT& Input, -            int N ) -        { -            return find_format_copy(  -                Input, -                head_finder(N), -                empty_formatter( Input ) ); -        } - -        //! Erase head algorithm -        /*! -            Remove the head from the input. The head is a prefix of a sequence of given size.  -            If the sequence is shorter then required, the whole string is  -            considered to be the head. The input sequence is modified in-place. - -            \param Input An input string -            \param N Length of the head -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -        */ -        template<typename SequenceT> -        inline void erase_head(  -            SequenceT& Input, -            int N ) -        { -            find_format(  -                Input,  -                head_finder(N), -                empty_formatter( Input ) ); -        } - -//  erase_tail --------------------------------------------------------------------// - -        //! Erase tail algorithm -        /*! -            Remove the tail from the input. The tail is a suffix of a sequence of given size.  -            If the sequence is shorter then required, the whole string is  -            considered to be the tail.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param N Length of the head.                  -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input -             -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename RangeT> -        inline OutputIteratorT erase_tail_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            int N ) -        { -            return find_format_copy( -                Output, -                Input, -                tail_finder(N), -                empty_formatter( Input ) ); -        } - -        //! Erase tail algorithm -        /*! -            \overload -        */ -        template<typename SequenceT> -        inline SequenceT erase_tail_copy(  -            const SequenceT& Input, -            int N ) -        { -            return find_format_copy(  -                Input, -                tail_finder(N), -                empty_formatter( Input ) ); -        } - -        //! Erase tail algorithm -        /*! -            Remove the tail from the input. The tail is a suffix of a sequence of given size.  -            If the sequence is shorter then required, the whole string is -            considered to be the tail. The input sequence is modified in-place. - -            \param Input An input string -            \param N Length of the head -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -        */ -        template<typename SequenceT> -        inline void erase_tail(  -            SequenceT& Input, -            int N ) -        { -            find_format(  -                Input,  -                tail_finder(N), -                empty_formatter( Input ) ); -        } - -    } // namespace algorithm - -    // pull names into the boost namespace -    using algorithm::erase_range_copy; -    using algorithm::erase_range; -    using algorithm::erase_first_copy; -    using algorithm::erase_first; -    using algorithm::ierase_first_copy; -    using algorithm::ierase_first; -    using algorithm::erase_last_copy; -    using algorithm::erase_last; -    using algorithm::ierase_last_copy; -    using algorithm::ierase_last; -    using algorithm::erase_nth_copy; -    using algorithm::erase_nth; -    using algorithm::ierase_nth_copy; -    using algorithm::ierase_nth; -    using algorithm::erase_all_copy; -    using algorithm::erase_all; -    using algorithm::ierase_all_copy; -    using algorithm::ierase_all; -    using algorithm::erase_head_copy; -    using algorithm::erase_head; -    using algorithm::erase_tail_copy; -    using algorithm::erase_tail; - -} // namespace boost - - -#endif  // BOOST_ERASE_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/find_format.hpp b/3rdParty/Boost/boost/algorithm/string/find_format.hpp deleted file mode 100644 index 7cbaf34..0000000 --- a/3rdParty/Boost/boost/algorithm/string/find_format.hpp +++ /dev/null @@ -1,269 +0,0 @@ -//  Boost string_algo library find_format.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_HPP -#define BOOST_STRING_FIND_FORMAT_HPP - -#include <deque> -#include <boost/detail/iterator.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/const_iterator.hpp> -#include <boost/range/as_literal.hpp> - -#include <boost/algorithm/string/concept.hpp> -#include <boost/algorithm/string/detail/find_format.hpp> -#include <boost/algorithm/string/detail/find_format_all.hpp> - -/*! \file -    Defines generic replace algorithms. Each algorithm replaces -    part(s) of the input. The part to be replaced is looked up using a Finder object. -    Result of finding is then used by a Formatter object to generate the replacement. -*/ - -namespace boost { -    namespace algorithm { - -// generic replace  -----------------------------------------------------------------// - -        //! Generic replace algorithm -        /*! -            Use the Finder to search for a substring. Use the Formatter to format -            this substring and replace it in the input. -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -     -            \param Output An output iterator to which the result will be copied -            \param Input An input sequence -            \param Finder A Finder object used to search for a match to be replaced -            \param Formatter A Formatter object used to format a match -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template<  -            typename OutputIteratorT, -            typename RangeT, -            typename FinderT, -            typename FormatterT> -        inline OutputIteratorT find_format_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            FinderT Finder, -            FormatterT Formatter ) -        { -            // Concept check -            function_requires<  -                FinderConcept<FinderT, -                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(); -            function_requires<  -                FormatterConcept< -                    FormatterT, -                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(); - -            iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(as_literal(Input)); - -            return detail::find_format_copy_impl( -                Output, -                lit_input, -                Formatter, -                Finder( ::boost::begin(lit_input), ::boost::end(lit_input) ) ); -        } - -        //! Generic replace algorithm -        /*! -            \overload -        */ -        template<  -            typename SequenceT,  -            typename FinderT, -            typename FormatterT> -        inline SequenceT find_format_copy( -            const SequenceT& Input, -            FinderT Finder, -            FormatterT Formatter ) -        { -            // Concept check -            function_requires<  -                FinderConcept<FinderT, -                BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); -            function_requires<  -                FormatterConcept< -                    FormatterT, -                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); - -            return detail::find_format_copy_impl( -                Input, -                Formatter, -                Finder(::boost::begin(Input), ::boost::end(Input))); -        } - -        //! Generic replace algorithm -        /*! -            Use the Finder to search for a substring. Use the Formatter to format -            this substring and replace it in the input. The input is modified in-place. - -            \param Input An input sequence -            \param Finder A Finder object used to search for a match to be replaced -            \param Formatter A Formatter object used to format a match -        */ -        template< -            typename SequenceT, -            typename FinderT, -            typename FormatterT> -        inline void find_format(  -            SequenceT& Input, -            FinderT Finder, -            FormatterT Formatter) -        { -            // Concept check -            function_requires<  -                FinderConcept<FinderT, -                BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); -            function_requires<  -                FormatterConcept< -                    FormatterT, -                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); - -            detail::find_format_impl( -                Input, -                Formatter, -                Finder(::boost::begin(Input), ::boost::end(Input))); -        } - - -//  find_format_all generic ----------------------------------------------------------------// - -        //! Generic replace all algorithm -        /*! -            Use the Finder to search for a substring. Use the Formatter to format -            this substring and replace it in the input. Repeat this for all matching -            substrings. -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input sequence -            \param Finder A Finder object used to search for a match to be replaced -            \param Formatter A Formatter object used to format a match -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template<  -            typename OutputIteratorT, -            typename RangeT, -            typename FinderT, -            typename FormatterT> -        inline OutputIteratorT find_format_all_copy( -            OutputIteratorT Output, -            const RangeT& Input, -            FinderT Finder, -            FormatterT Formatter) -        { -            // Concept check -            function_requires<  -                FinderConcept<FinderT, -                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(); -            function_requires<  -                FormatterConcept< -                    FormatterT, -                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(); - -            iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(as_literal(Input)); - -            return detail::find_format_all_copy_impl( -                Output, -                lit_input, -                Finder, -                Formatter, -                Finder(::boost::begin(lit_input), ::boost::end(lit_input))); -        } - -        //! Generic replace all algorithm -        /*! -            \overload -        */ -        template<  -            typename SequenceT,  -            typename FinderT, -            typename FormatterT > -        inline SequenceT find_format_all_copy( -            const SequenceT& Input, -            FinderT Finder, -            FormatterT Formatter ) -        { -            // Concept check -            function_requires<  -                FinderConcept<FinderT, -                BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); -            function_requires<  -                FormatterConcept< -                    FormatterT, -                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); - -            return detail::find_format_all_copy_impl( -                Input, -                Finder, -                Formatter, -                Finder( ::boost::begin(Input), ::boost::end(Input) ) ); -        } - -        //! Generic replace all algorithm -        /*! -            Use the Finder to search for a substring. Use the Formatter to format -            this substring and replace it in the input. Repeat this for all matching -            substrings.The input is modified in-place. - -            \param Input An input sequence -            \param Finder A Finder object used to search for a match to be replaced -            \param Formatter A Formatter object used to format a match -        */ -        template< -            typename SequenceT, -            typename FinderT, -            typename FormatterT > -        inline void find_format_all(  -            SequenceT& Input, -            FinderT Finder, -            FormatterT Formatter ) -        { -            // Concept check -            function_requires<  -                FinderConcept<FinderT, -                BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); -            function_requires<  -                FormatterConcept< -                    FormatterT, -                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type> >(); - -            detail::find_format_all_impl( -                Input, -                Finder, -                Formatter, -                Finder(::boost::begin(Input), ::boost::end(Input))); - -        } - -    } // namespace algorithm - -    // pull the names to the boost namespace -    using algorithm::find_format_copy; -    using algorithm::find_format; -    using algorithm::find_format_all_copy; -    using algorithm::find_format_all; - -} // namespace boost - - -#endif  // BOOST_STRING_FIND_FORMAT_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/finder.hpp b/3rdParty/Boost/boost/algorithm/string/finder.hpp deleted file mode 100644 index c936ddb..0000000 --- a/3rdParty/Boost/boost/algorithm/string/finder.hpp +++ /dev/null @@ -1,270 +0,0 @@ -//  Boost string_algo library finder.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2006. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FINDER_HPP -#define BOOST_STRING_FINDER_HPP - -#include <boost/algorithm/string/config.hpp> - -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/iterator.hpp> -#include <boost/range/const_iterator.hpp> - -#include <boost/algorithm/string/constants.hpp> -#include <boost/algorithm/string/detail/finder.hpp> -#include <boost/algorithm/string/compare.hpp> - -/*! \file -    Defines Finder generators. Finder object is a functor which is able to  -    find a substring matching a specific criteria in the input. -    Finders are used as a pluggable components for replace, find  -    and split facilities. This header contains generator functions  -    for finders provided in this library. -*/ - -namespace boost { -    namespace algorithm { - -//  Finder generators ------------------------------------------// -         -        //! "First" finder  -        /*! -            Construct the \c first_finder. The finder searches for the first -            occurrence of the string in a given input. -            The result is given as an \c iterator_range delimiting the match. - -            \param Search A substring to be searched for. -            \param Comp An element comparison predicate -            \return An instance of the \c first_finder object -        */ -        template<typename RangeT> -        inline detail::first_finderF< -            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, -            is_equal> -        first_finder( const RangeT& Search ) -        { -            return  -                detail::first_finderF< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<RangeT>::type, -                    is_equal>( as_literal(Search), is_equal() ) ; -        } - -        //! "First" finder -        /*! -            \overload -        */ -        template<typename RangeT,typename PredicateT> -        inline detail::first_finderF< -            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, -            PredicateT> -        first_finder(  -            const RangeT& Search, PredicateT Comp ) -        { -            return  -                detail::first_finderF< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<RangeT>::type, -                    PredicateT>( as_literal(Search), Comp ); -        } - -        //! "Last" finder -        /*! -            Construct the \c last_finder. The finder searches for the last -            occurrence of the string in a given input. -            The result is given as an \c iterator_range delimiting the match. - -            \param Search A substring to be searched for. -            \param Comp An element comparison predicate -            \return An instance of the \c last_finder object -        */ -        template<typename RangeT> -        inline detail::last_finderF< -            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, -            is_equal> -        last_finder( const RangeT& Search ) -        { -            return  -                detail::last_finderF< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<RangeT>::type, -                    is_equal>( as_literal(Search), is_equal() ); -        } -        //! "Last" finder -        /*! -            \overload -        */ -        template<typename RangeT, typename PredicateT> -        inline detail::last_finderF< -            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, -            PredicateT> -        last_finder( const RangeT& Search, PredicateT Comp ) -        { -            return  -                detail::last_finderF< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<RangeT>::type, -                    PredicateT>( as_literal(Search), Comp ) ; -        } - -        //! "Nth" finder -        /*! -            Construct the \c nth_finder. The finder searches for the n-th (zero-indexed) -            occurrence of the string in a given input. -            The result is given as an \c iterator_range delimiting the match. - -            \param Search A substring to be searched for. -            \param Nth An index of the match to be find -            \param Comp An element comparison predicate -            \return An instance of the \c nth_finder object -        */ -        template<typename RangeT> -        inline detail::nth_finderF< -            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, -            is_equal> -        nth_finder(  -            const RangeT& Search,  -            int Nth) -        { -            return  -                detail::nth_finderF< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<RangeT>::type, -                    is_equal>( as_literal(Search), Nth, is_equal() ) ; -        } -        //! "Nth" finder -        /*! -            \overload -        */ -        template<typename RangeT, typename PredicateT> -        inline detail::nth_finderF< -            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, -            PredicateT> -        nth_finder(  -            const RangeT& Search,  -            int Nth,  -            PredicateT Comp ) -        { -            return  -                detail::nth_finderF< -                    BOOST_STRING_TYPENAME  -                        range_const_iterator<RangeT>::type, -                    PredicateT>( as_literal(Search), Nth, Comp ); -        } - -        //! "Head" finder -        /*! -            Construct the \c head_finder. The finder returns a head of a given -            input. The head is a prefix of a string up to n elements in -            size. If an input has less then n elements, whole input is  -            considered a head. -            The result is given as an \c iterator_range delimiting the match. - -            \param N The size of the head -            \return An instance of the \c head_finder object -        */ -        inline detail::head_finderF -        head_finder( int N ) -        { -            return detail::head_finderF(N); -        } -         -        //! "Tail" finder -        /*! -            Construct the \c tail_finder. The finder returns a tail of a given -            input. The tail is a suffix of a string up to n elements in -            size. If an input has less then n elements, whole input is  -            considered a head. -            The result is given as an \c iterator_range delimiting the match. - -            \param N The size of the head -            \return An instance of the \c tail_finder object -        */ -        inline detail::tail_finderF -        tail_finder( int N ) -        { -            return detail::tail_finderF(N); -        } - -        //! "Token" finder -        /*! -            Construct the \c token_finder. The finder searches for a token  -            specified by a predicate. It is similar to std::find_if  -            algorithm, with an exception that it return a range of -            instead of a single iterator. - -            If "compress token mode" is enabled, adjacent matching tokens are  -            concatenated into one match. Thus the finder can be used to  -            search for continuous segments of characters satisfying the  -            given predicate. - -            The result is given as an \c iterator_range delimiting the match. - -            \param Pred An element selection predicate -            \param eCompress Compress flag -            \return An instance of the \c token_finder object -        */ -        template< typename PredicateT > -        inline detail::token_finderF<PredicateT> -        token_finder(  -            PredicateT Pred,  -            token_compress_mode_type eCompress=token_compress_off ) -        { -            return detail::token_finderF<PredicateT>( Pred, eCompress ); -        } - -        //! "Range" finder -        /*! -            Construct the \c range_finder. The finder does not perform  -            any operation. It simply returns the given range for  -            any input.  - -            \param Begin Beginning of the range -            \param End End of the range -            \param Range The range. -            \return An instance of the \c range_finger object -        */ -        template< typename ForwardIteratorT > -        inline detail::range_finderF<ForwardIteratorT> -        range_finder( -            ForwardIteratorT Begin, -            ForwardIteratorT End ) -        { -            return detail::range_finderF<ForwardIteratorT>( Begin, End ); -        } - -        //! "Range" finder -        /*!        -            \overload -        */ -        template< typename ForwardIteratorT > -        inline detail::range_finderF<ForwardIteratorT> -        range_finder( iterator_range<ForwardIteratorT> Range ) -        { -            return detail::range_finderF<ForwardIteratorT>( Range ); -        } - -    } // namespace algorithm - -    // pull the names to the boost namespace -    using algorithm::first_finder; -    using algorithm::last_finder; -    using algorithm::nth_finder; -    using algorithm::head_finder; -    using algorithm::tail_finder; -    using algorithm::token_finder; -    using algorithm::range_finder; - -} // namespace boost - - -#endif  // BOOST_STRING_FINDER_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/formatter.hpp b/3rdParty/Boost/boost/algorithm/string/formatter.hpp deleted file mode 100644 index e04a50f..0000000 --- a/3rdParty/Boost/boost/algorithm/string/formatter.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//  Boost string_algo library formatter.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FORMATTER_HPP -#define BOOST_STRING_FORMATTER_HPP - -#include <boost/detail/iterator.hpp> -#include <boost/range/value_type.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/as_literal.hpp> - -#include <boost/algorithm/string/detail/formatter.hpp> - -/*! \file -    Defines Formatter generators. Formatter is a functor which formats -    a string according to given parameters. A Formatter works -    in conjunction with a Finder. A Finder can provide additional information -    for a specific Formatter. An example of such a cooperation is regex_finder -    and regex_formatter. - -    Formatters are used as pluggable components for replace facilities.  -    This header contains generator functions for the Formatters provided in this library. -*/ - -namespace boost { -    namespace algorithm { - -// generic formatters  ---------------------------------------------------------------// - -        //! Constant formatter -        /*! -            Construct the \c const_formatter. Const formatter always returns -            the same value, regardless of the parameter. - -            \param Format A predefined value used as a result for formating -            \return An instance of the \c const_formatter object. -        */ -        template<typename RangeT> -        inline detail::const_formatF< -            iterator_range< -                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> > -        const_formatter(const RangeT& Format) -        { -            return detail::const_formatF< -                iterator_range< -                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(as_literal(Format)); -        } - -        //! Identity formatter -        /*! -            Construct the \c identity_formatter. Identity formatter always returns -            the parameter. - -            \return An instance of the \c identity_formatter object. -        */ -        template<typename RangeT> -        inline detail::identity_formatF< -            iterator_range< -                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> > -        identity_formatter() -        { -            return detail::identity_formatF< -                iterator_range< -                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(); -        } - -        //! Empty formatter -        /*! -            Construct the \c empty_formatter. Empty formatter always returns an empty -            sequence.  - -            \param Input container used to select a correct value_type for the -                         resulting empty_container<>. -            \return An instance of the \c empty_formatter object. -        */ -        template<typename RangeT> -        inline detail::empty_formatF<  -            BOOST_STRING_TYPENAME range_value<RangeT>::type> -        empty_formatter(const RangeT&) -        { -            return detail::empty_formatF< -                BOOST_STRING_TYPENAME range_value<RangeT>::type>(); -        } - - -    } // namespace algorithm - -    // pull the names to the boost namespace -    using algorithm::const_formatter; -    using algorithm::identity_formatter; -    using algorithm::empty_formatter; - -} // namespace boost - - -#endif  // BOOST_FORMATTER_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/replace.hpp b/3rdParty/Boost/boost/algorithm/string/replace.hpp deleted file mode 100644 index 1c59ec7..0000000 --- a/3rdParty/Boost/boost/algorithm/string/replace.hpp +++ /dev/null @@ -1,928 +0,0 @@ -//  Boost string_algo library replace.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2006. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_REPLACE_HPP -#define BOOST_STRING_REPLACE_HPP - -#include <boost/algorithm/string/config.hpp> - -#include <boost/range/iterator_range.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/iterator.hpp> -#include <boost/range/const_iterator.hpp> - -#include <boost/algorithm/string/find_format.hpp> -#include <boost/algorithm/string/finder.hpp> -#include <boost/algorithm/string/formatter.hpp> -#include <boost/algorithm/string/compare.hpp> - -/*! \file -    Defines various replace algorithms. Each algorithm replaces -    part(s) of the input according to set of searching and replace criteria. -*/ - -namespace boost { -    namespace algorithm { - -//  replace_range --------------------------------------------------------------------// - -        //! Replace range algorithm -        /*! -            Replace the given range in the input string. -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -             -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param SearchRange A range in the input to be substituted -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -              \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT replace_range_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const iterator_range< -                BOOST_STRING_TYPENAME  -                    range_const_iterator<Range1T>::type>& SearchRange, -            const Range2T& Format) -        { -            return find_format_copy( -                Output, -                Input, -                range_finder(SearchRange), -                const_formatter(Format)); -        } - -        //! Replace range algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT replace_range_copy(  -            const SequenceT& Input, -            const iterator_range< -                BOOST_STRING_TYPENAME  -                    range_const_iterator<SequenceT>::type>& SearchRange, -            const RangeT& Format) -        { -            return find_format_copy( -                Input, -                range_finder(SearchRange), -                const_formatter(Format)); -        } - -        //! Replace range algorithm -        /*! -            Replace the given range in the input string.  -            The input sequence is modified in-place. - -            \param Input An input string -            \param SearchRange A range in the input to be substituted -            \param Format A substitute string -        */ -        template<typename SequenceT, typename RangeT> -        inline void replace_range(  -            SequenceT& Input, -            const iterator_range< -                BOOST_STRING_TYPENAME  -                    range_iterator<SequenceT>::type>& SearchRange, -            const RangeT& Format) -        { -            find_format( -                Input, -                range_finder(SearchRange), -                const_formatter(Format)); -        } - -//  replace_first --------------------------------------------------------------------// - -        //! Replace first algorithm -        /*! -            Replace the first match of the search substring in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -             -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input - -              \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT replace_first_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const Range3T& Format) -        { -            return find_format_copy( -                Output, -                Input, -                first_finder(Search), -                const_formatter(Format) ); -        } - -        //! Replace first algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT replace_first_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format ) -        { -            return find_format_copy(  -                Input, -                first_finder(Search), -                const_formatter(Format) ); -        } - -        //! Replace first algorithm -        /*! -            replace the first match of the search substring in the input  -            with the format string. The input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void replace_first(  -            SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format ) -        { -            find_format(  -                Input,  -                first_finder(Search), -                const_formatter(Format) ); -        } - -//  replace_first ( case insensitive ) ---------------------------------------------// - -        //! Replace first algorithm ( case insensitive ) -        /*! -            Replace the first match of the search substring in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT ireplace_first_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const Range3T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy( -                Output, -                Input, -                first_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace first algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range2T, typename Range1T> -        inline SequenceT ireplace_first_copy(  -            const SequenceT& Input, -            const Range2T& Search, -            const Range1T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy(  -                Input, -                first_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace first algorithm ( case insensitive ) -        /*! -            Replace the first match of the search substring in the input  -            with the format string. Input sequence is modified in-place. -            Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void ireplace_first(  -            SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            find_format(  -                Input,  -                first_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -//  replace_last --------------------------------------------------------------------// - -        //! Replace last algorithm -        /*! -            Replace the last match of the search string in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input             - -              \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT replace_last_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const Range3T& Format ) -        { -            return find_format_copy( -                Output, -                Input, -                last_finder(Search), -                const_formatter(Format) ); -        } - -        //! Replace last algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT replace_last_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format ) -        { -            return find_format_copy(  -                Input, -                last_finder(Search), -                const_formatter(Format) ); -        } - -        //! Replace last algorithm -        /*! -            Replace the last match of the search string in the input  -            with the format string. Input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void replace_last(  -            SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format ) -        { -            find_format(  -                Input,  -                last_finder(Search), -                const_formatter(Format) ); -        } - -//  replace_last ( case insensitive ) -----------------------------------------------// - -        //! Replace last algorithm ( case insensitive ) -        /*! -            Replace the last match of the search string in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input   - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT ireplace_last_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const Range3T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy( -                Output, -                Input, -                last_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace last algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT ireplace_last_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy(  -                Input, -                last_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace last algorithm ( case insensitive ) -        /*! -            Replace the last match of the search string in the input  -            with the format string.The input sequence is modified in-place. -            Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -            \return A reference to the modified input -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void ireplace_last(  -            SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            find_format(  -                Input,  -                last_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -//  replace_nth --------------------------------------------------------------------// - -        //! Replace nth algorithm -        /*! -            Replace an Nth (zero-indexed) match of the search string in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT replace_nth_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            int Nth, -            const Range3T& Format ) -        { -            return find_format_copy( -                Output, -                Input, -                nth_finder(Search, Nth), -                const_formatter(Format) ); -        } - -        //! Replace nth algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT replace_nth_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            int Nth, -            const Range2T& Format ) -        { -            return find_format_copy(  -                Input, -                nth_finder(Search, Nth), -                const_formatter(Format) ); -        } - -        //! Replace nth algorithm -        /*! -            Replace an Nth (zero-indexed) match of the search string in the input  -            with the format string. Input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \param Format A substitute string -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void replace_nth(  -            SequenceT& Input, -            const Range1T& Search, -            int Nth, -            const Range2T& Format ) -        { -            find_format(  -                Input,  -                nth_finder(Search, Nth), -                const_formatter(Format) ); -        } - -//  replace_nth ( case insensitive ) -----------------------------------------------// -         -        //! Replace nth algorithm ( case insensitive ) -        /*! -            Replace an Nth (zero-indexed) match of the search string in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input             - -            \note The second variant of this function provides the strong exception-safety guarantee -       */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT ireplace_nth_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            int Nth, -            const Range3T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy( -                Output, -                Input, -                nth_finder(Search, Nth, is_iequal(Loc) ), -                const_formatter(Format) ); -        } - -        //! Replace nth algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT ireplace_nth_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            int Nth, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_copy(  -                Input, -                nth_finder(Search, Nth, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace nth algorithm ( case insensitive ) -        /*! -            Replace an Nth (zero-indexed) match of the search string in the input  -            with the format string. Input sequence is modified in-place. -            Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Nth An index of the match to be replaced. The index is 0-based. -                For negative N, matches are counted from the end of string. -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void ireplace_nth(  -            SequenceT& Input, -            const Range1T& Search, -            int Nth, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            find_format(  -                Input,  -                nth_finder(Search, Nth, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -//  replace_all --------------------------------------------------------------------// - -        //! Replace all algorithm -        /*! -            Replace all occurrences of the search string in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input  - -             \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT replace_all_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const Range3T& Format ) -        { -            return find_format_all_copy( -                Output, -                Input, -                first_finder(Search), -                const_formatter(Format) ); -        } - -        //! Replace all algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT replace_all_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format ) -        { -            return find_format_all_copy(  -                Input, -                first_finder(Search), -                const_formatter(Format) ); -        } - -        //! Replace all algorithm -        /*! -            Replace all occurrences of the search string in the input  -            with the format string. The input sequence is modified in-place. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \return A reference to the modified input -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void replace_all(  -            SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format ) -        { -            find_format_all(  -                Input,  -                first_finder(Search), -                const_formatter(Format) ); -        } -         -//  replace_all ( case insensitive ) -----------------------------------------------// - -        //! Replace all algorithm ( case insensitive ) -        /*! -            Replace all occurrences of the search string in the input  -            with the format string.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -            Searching is case insensitive. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input  - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T, -            typename Range3T> -        inline OutputIteratorT ireplace_all_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            const Range2T& Search, -            const Range3T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_all_copy( -                Output, -                Input, -                first_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace all algorithm ( case insensitive ) -        /*! -            \overload -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline SequenceT ireplace_all_copy(  -            const SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            return find_format_all_copy(  -                Input, -                first_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } - -        //! Replace all algorithm ( case insensitive ) -        /*! -            Replace all occurrences of the search string in the input  -            with the format string.The input sequence is modified in-place. -            Searching is case insensitive. - -            \param Input An input string -            \param Search A substring to be searched for  -            \param Format A substitute string -            \param Loc A locale used for case insensitive comparison -        */ -        template<typename SequenceT, typename Range1T, typename Range2T> -        inline void ireplace_all(  -            SequenceT& Input, -            const Range1T& Search, -            const Range2T& Format, -            const std::locale& Loc=std::locale() ) -        { -            find_format_all(  -                Input,  -                first_finder(Search, is_iequal(Loc)), -                const_formatter(Format) ); -        } -         -//  replace_head --------------------------------------------------------------------// - -        //! Replace head algorithm -        /*! -            Replace the head of the input with the given format string.  -            The head is a prefix of a string of given size.  -            If the sequence is shorter then required, whole string if  -            considered to be the head.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. -             -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param N Length of the head. -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                a modified copy of the input   - -            \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT replace_head_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            int N, -            const Range2T& Format ) -        { -            return find_format_copy( -                Output, -                Input, -                head_finder(N), -                const_formatter(Format) ); -        } - -        //! Replace head algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT replace_head_copy(  -            const SequenceT& Input, -            int N, -            const RangeT& Format ) -        { -            return find_format_copy(  -                Input, -                head_finder(N), -                const_formatter(Format) ); -        } - -        //! Replace head algorithm -        /*! -            Replace the head of the input with the given format string.  -            The head is a prefix of a string of given size.  -            If the sequence is shorter then required, the whole string is  -            considered to be the head. The input sequence is modified in-place. - -            \param Input An input string -            \param N Length of the head. -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -            \param Format A substitute string -        */ -        template<typename SequenceT, typename RangeT> -        inline void replace_head(  -            SequenceT& Input, -            int N, -            const RangeT& Format ) -        { -            find_format(  -                Input,  -                head_finder(N), -                const_formatter(Format) ); -        } - -//  replace_tail --------------------------------------------------------------------// - -        //! Replace tail algorithm -        /*! -            Replace the tail of the input with the given format string.  -            The tail is a suffix of a string of given size.  -            If the sequence is shorter then required, whole string is  -            considered to be the tail.  -            The result is a modified copy of the input. It is returned as a sequence  -            or copied to the output iterator. - -            \param Output An output iterator to which the result will be copied -            \param Input An input string -            \param N Length of the tail. -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -            \param Format A substitute string -            \return An output iterator pointing just after the last inserted character or -                    a modified copy of the input    - -              \note The second variant of this function provides the strong exception-safety guarantee -        */ -        template< -            typename OutputIteratorT, -            typename Range1T,  -            typename Range2T> -        inline OutputIteratorT replace_tail_copy( -            OutputIteratorT Output, -            const Range1T& Input, -            int N, -            const Range2T& Format ) -        { -            return find_format_copy( -                Output, -                Input, -                tail_finder(N), -                const_formatter(Format) ); -        } - -        //! Replace tail algorithm -        /*! -            \overload -        */ -        template<typename SequenceT, typename RangeT> -        inline SequenceT replace_tail_copy(  -            const SequenceT& Input, -            int N, -            const RangeT& Format ) -        { -            return find_format_copy(  -                Input, -                tail_finder(N), -                const_formatter(Format) ); -        } - -        //! Replace tail algorithm -        /*! -            Replace the tail of the input with the given format sequence.  -            The tail is a suffix of a string of given size.  -            If the sequence is shorter then required, the whole string is  -            considered to be the tail. The input sequence is modified in-place. - -            \param Input An input string -            \param N Length of the tail. -                For N>=0, at most N characters are extracted. -                For N<0, size(Input)-|N| characters are extracted. -            \param Format A substitute string -        */ -        template<typename SequenceT, typename RangeT> -        inline void replace_tail(  -            SequenceT& Input, -            int N, -            const RangeT& Format ) -        { -            find_format(  -                Input,  -                tail_finder(N), -                const_formatter(Format) ); -        } - -    } // namespace algorithm - -    // pull names to the boost namespace -    using algorithm::replace_range_copy; -    using algorithm::replace_range; -    using algorithm::replace_first_copy; -    using algorithm::replace_first; -    using algorithm::ireplace_first_copy; -    using algorithm::ireplace_first; -    using algorithm::replace_last_copy; -    using algorithm::replace_last; -    using algorithm::ireplace_last_copy; -    using algorithm::ireplace_last; -    using algorithm::replace_nth_copy; -    using algorithm::replace_nth; -    using algorithm::ireplace_nth_copy; -    using algorithm::ireplace_nth; -    using algorithm::replace_all_copy; -    using algorithm::replace_all; -    using algorithm::ireplace_all_copy; -    using algorithm::ireplace_all; -    using algorithm::replace_head_copy; -    using algorithm::replace_head; -    using algorithm::replace_tail_copy; -    using algorithm::replace_tail; - -} // namespace boost - -#endif  // BOOST_REPLACE_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/sequence_traits.hpp b/3rdParty/Boost/boost/algorithm/string/sequence_traits.hpp deleted file mode 100644 index b1ac67e..0000000 --- a/3rdParty/Boost/boost/algorithm/string/sequence_traits.hpp +++ /dev/null @@ -1,193 +0,0 @@ -//  Boost string_algo library sequence_traits.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_SEQUENCE_TRAITS_HPP -#define BOOST_STRING_SEQUENCE_TRAITS_HPP - -#include <boost/config.hpp> -#include <boost/mpl/bool.hpp> -#include <boost/algorithm/string/yes_no_type.hpp> - -/*! \file -    Traits defined in this header are used by various algorithms to achieve -    better performance for specific containers. -    Traits provide fail-safe defaults. If a container supports some of these -    features, it is possible to specialize the specific trait for this container. -    For lacking compilers, it is possible of define an override for a specific tester -    function. - -    Due to a language restriction, it is not currently possible to define specializations for -    stl containers without including the corresponding header. To decrease the overhead -    needed by this inclusion, user can selectively include a specialization -    header for a specific container. They are located in boost/algorithm/string/stl -    directory. Alternatively she can include boost/algorithm/string/std_collection_traits.hpp -    header which contains specializations for all stl containers. -*/ - -namespace boost { -    namespace algorithm { - -//  sequence traits  -----------------------------------------------// - -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -        //! Native replace tester -        /*! -            Declare an override of this tester function with return -            type boost::string_algo::yes_type for a sequence with this property. - -            \return yes_type if the container has basic_string like native replace -            method. -        */ -        no_type has_native_replace_tester(...); - -        //! Stable iterators tester -        /*! -            Declare an override of this tester function with return -            type boost::string_algo::yes_type for a sequence with this property. - -            \return yes_type if the sequence's insert/replace/erase methods do not invalidate -            existing iterators. -        */ -        no_type has_stable_iterators_tester(...); - -        //! const time insert tester -        /*! -            Declare an override of this tester function with return -            type boost::string_algo::yes_type for a sequence with this property. - -            \return yes_type if the sequence's insert method is working in constant time -        */ -        no_type has_const_time_insert_tester(...); - -        //! const time erase tester -        /*! -            Declare an override of this tester function with return -            type boost::string_algo::yes_type for a sequence with this property. - -            \return yes_type if the sequence's erase method is working in constant time -        */ -        no_type has_const_time_erase_tester(...); - -#endif //BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -        //! Native replace trait -        /*! -            This trait specifies that the sequence has \c std::string like replace method -        */ -        template< typename T > -        class has_native_replace -        { - -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        private: -            static T* t; -        public: -            BOOST_STATIC_CONSTANT(bool, value=( -                sizeof(has_native_replace_tester(t))==sizeof(yes_type) ) ); -#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        public: -#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -            enum { value = false }; -#    else -            BOOST_STATIC_CONSTANT(bool, value=false); -#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - -            typedef mpl::bool_<has_native_replace<T>::value> type; -        }; - - -        //! Stable iterators trait -        /*! -            This trait specifies that the sequence has stable iterators. It means -            that operations like insert/erase/replace do not invalidate iterators. -        */ -        template< typename T > -        class has_stable_iterators -        { -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        private: -            static T* t; -        public: -            BOOST_STATIC_CONSTANT(bool, value=( -                sizeof(has_stable_iterators_tester(t))==sizeof(yes_type) ) ); -#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        public: -#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -            enum { value = false }; -#    else -            BOOST_STATIC_CONSTANT(bool, value=false); -#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -            typedef mpl::bool_<has_stable_iterators<T>::value> type; -        }; - - -        //! Const time insert trait -        /*! -            This trait specifies that the sequence's insert method has -            constant time complexity. -        */ -        template< typename T > -        class has_const_time_insert -        { -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        private: -            static T* t; -        public: -            BOOST_STATIC_CONSTANT(bool, value=( -                sizeof(has_const_time_insert_tester(t))==sizeof(yes_type) ) ); -#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        public: -#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -            enum { value = false }; -#    else -            BOOST_STATIC_CONSTANT(bool, value=false); -#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -            typedef mpl::bool_<has_const_time_insert<T>::value> type; -        }; - - -        //! Const time erase trait -        /*! -            This trait specifies that the sequence's erase method has -            constant time complexity. -        */ -        template< typename T > -        class has_const_time_erase -        { -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        private: -            static T* t; -        public: -            BOOST_STATIC_CONSTANT(bool, value=( -                sizeof(has_const_time_erase_tester(t))==sizeof(yes_type) ) ); -#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -        public: -#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -            enum { value = false }; -#    else -            BOOST_STATIC_CONSTANT(bool, value=false); -#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -            typedef mpl::bool_<has_const_time_erase<T>::value> type; -        }; - -    } // namespace algorithm -} // namespace boost - - -#endif  // BOOST_STRING_SEQUENCE_TRAITS_HPP diff --git a/3rdParty/Boost/boost/algorithm/string/yes_no_type.hpp b/3rdParty/Boost/boost/algorithm/string/yes_no_type.hpp deleted file mode 100644 index b76cc6c..0000000 --- a/3rdParty/Boost/boost/algorithm/string/yes_no_type.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//  Boost string_algo library yes_no_type.hpp header file  ---------------------------// - -//  Copyright Pavol Droba 2002-2003. -// -// 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/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_YES_NO_TYPE_DETAIL_HPP -#define BOOST_STRING_YES_NO_TYPE_DETAIL_HPP - -namespace boost { -    namespace algorithm { - -        // taken from boost mailing-list -        // when yes_no_type will become officially -        // a part of boost distribution, this header -        // will be deprecated -        template<int I> struct size_descriptor  -        { -            typedef char (& type)[I]; -        };  - -        typedef size_descriptor<1>::type yes_type; -        typedef size_descriptor<2>::type no_type; - -    } // namespace algorithm -} // namespace boost - - -#endif  // BOOST_STRING_YES_NO_TYPE_DETAIL_HPP | 
 Swift
 Swift