diff options
Diffstat (limited to '3rdParty/Boost/boost/algorithm/string/concept.hpp')
| -rw-r--r-- | 3rdParty/Boost/boost/algorithm/string/concept.hpp | 83 | 
1 files changed, 83 insertions, 0 deletions
| diff --git a/3rdParty/Boost/boost/algorithm/string/concept.hpp b/3rdParty/Boost/boost/algorithm/string/concept.hpp new file mode 100644 index 0000000..9876e98 --- /dev/null +++ b/3rdParty/Boost/boost/algorithm/string/concept.hpp @@ -0,0 +1,83 @@ +//  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 | 
 Swift
 Swift