Misc Algorithms. Marshall Clow Tstd::multiplies< T > Tstd::plus< T > boost::enable_if< boost::is_integral< Integer >, T >::typeTThe value to be exponentiated IntegerThe exponent (must be >= 0) the value "x" raised to the power "n" boost::enable_if< boost::is_integral< Integer >, T >::typeTThe value to be exponentiated IntegerThe exponent (must be >= 0) OperationThe operation used the value "x" raised to the power "n" using the operation "op".
Clamp algorithm. Marshall Clow Suggested by olafvdspek in https://svn.boost.org/trac/boost/ticket/3215 T const &T const &The value to be clamped typename boost::mpl::identity< T >::type const &The lower bound of the range to be clamped to typename boost::mpl::identity< T >::type const &The upper bound of the range to be clamped to PredA predicate to use to compare the values. p ( a, b ) returns a boolean. the value "val" brought into the range [ lo, hi ] using the comparison predicate p. If p ( val, lo ) return lo. If p ( hi, val ) return hi. Otherwise, return the original value. T const &const T &The value to be clamped typename boost::mpl::identity< T >::type const &The lower bound of the range to be clamped to typename boost::mpl::identity< T >::type const &The upper bound of the range to be clamped to the value "val" brought into the range [ lo, hi ]. If the value is less than lo, return lo. If the value is greater than "hi", return hi. Otherwise, return the original value. OutputIteratorInputIteratorInputIteratorOutputIteratortypename std::iterator_traits< InputIterator >::value_type const &typename std::iterator_traits< InputIterator >::value_type const & boost::disable_if_c< boost::is_same< Range, OutputIterator >::value, OutputIterator >::typeconst Range &The range of values to be clamped OutputIteratorAn output iterator to write the clamped values into typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &The lower bound of the range to be clamped to typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &The upper bound of the range to be clamped to clamp the sequence of values [first, last) into [ lo, hi ] OutputIteratorInputIteratorInputIteratorOutputIteratortypename std::iterator_traits< InputIterator >::value_type const &typename std::iterator_traits< InputIterator >::value_type const &Pred boost::disable_if_c< boost::is_same< Range, OutputIterator >::value, OutputIterator >::typeconst Range &The range of values to be clamped OutputIteratorAn output iterator to write the clamped values into typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &The lower bound of the range to be clamped to typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &The upper bound of the range to be clamped to PredA predicate to use to compare the values. p ( a, b ) returns a boolean. clamp the sequence of values [first, last) into [ lo, hi ] using the comparison predicate p.
Test ranges to see if all elements match a value or predicate. Marshall Clow boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence PredicateA predicate for testing the elements of the sequence returns true on an empty range This function is part of the C++2011 standard library. true if all elements in [first, last) satisfy the predicate 'p' boolconst Range &The input range PredicateA predicate for testing the elements of the range returns true on an empty range true if all elements in the range satisfy the predicate 'p' boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence const T &A value to compare against returns true on an empty range true if all elements in [first, last) are equal to 'val' boolconst Range &The input range const T &A value to compare against returns true on an empty range true if all elements in the range are equal to 'val'
Test ranges to see if any elements match a value or predicate. Marshall Clow boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence PredicateA predicate for testing the elements of the sequence returns false on an empty range true if any of the elements in [first, last) satisfy the predicate boolconst Range &The input range PredicateA predicate for testing the elements of the range returns false on an empty range true if any elements in the range satisfy the predicate 'p' boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence const V &A value to compare against returns false on an empty range true if any of the elements in [first, last) are equal to 'val' boolconst Range &The input range const V &A value to compare against returns false on an empty range true if any of the elements in the range are equal to 'val'
Copy a subset of a sequence to a new sequence. Marshall Clow OutputIteratorInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIteratorAn output iterator to write the results into PredicateA predicate for testing the elements of the range Copies all the elements from the input range that satisfy the predicate to the output range. This function is part of the C++2011 standard library. The updated output iterator OutputIteratorconst Range &The input range OutputIteratorAn output iterator to write the results into PredicateA predicate for testing the elements of the range Copies all the elements from the input range that satisfy the predicate to the output range. The updated output iterator std::pair< InputIterator, OutputIterator >InputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIteratorAn output iterator to write the results into PredicateA predicate for testing the elements of the range Copies all the elements at the start of the input range that satisfy the predicate to the output range. The updated input and output iterators std::pair< typename boost::range_iterator< const Range >::type, OutputIterator >const Range &The input range OutputIteratorAn output iterator to write the results into PredicateA predicate for testing the elements of the range Copies all the elements at the start of the input range that satisfy the predicate to the output range. The updated input and output iterators std::pair< InputIterator, OutputIterator >InputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIteratorAn output iterator to write the results into PredicateA predicate for testing the elements of the range Copies all the elements at the start of the input range that do not satisfy the predicate to the output range. The updated output iterator std::pair< typename boost::range_iterator< const Range >::type, OutputIterator >const Range &The input range OutputIteratorAn output iterator to write the results into PredicateA predicate for testing the elements of the range Copies all the elements at the start of the input range that do not satisfy the predicate to the output range. The updated output iterator
Copy n items from one sequence to another. Marshall Clow OutputIteratorInputIteratorThe start of the input sequence SizeThe number of elements to copy OutputIteratorAn output iterator to write the results into Copies exactly n (n > 0) elements from the range starting at first to the range starting at result. This function is part of the C++2011 standard library. The updated output iterator
Find the first element in a sequence that does not satisfy a predicate. Marshall Clow InputIteratorInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence PredicateA predicate for testing the elements of the range Finds the first element in the sequence that does not satisfy the predicate. This function is part of the C++2011 standard library. The iterator pointing to the desired element. boost::range_iterator< const Range >::typeconst Range &The input range PredicateA predicate for testing the elements of the range Finds the first element in the sequence that does not satisfy the predicate. The iterator pointing to the desired element.
Generate an increasing series. Marshall Clow voidForwardIteratorThe start of the input sequence ForwardIteratorOne past the end of the input sequence TThe initial value of the sequence to be generated Generates an increasing sequence of values, and stores them in [first, last) This function is part of the C++2011 standard library. voidRange &The input range TThe initial value of the sequence to be generated Generates an increasing sequence of values, and stores them in the input Range. OutputIteratorOutputIteratorAn output iterator to write the results into TThe initial value of the sequence to be generated std::size_tThe number of items to write Generates an increasing sequence of values, and stores them in the input Range.
Tell if a sequence is partitioned. Marshall Clow boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence UnaryPredicateThe predicate to test the values with Tests to see if a sequence is partitioned according to a predicate. In other words, all the items in the sequence that satisfy the predicate are at the beginning of the sequence. This function is part of the C++2011 standard library. boolconst Range &The input range UnaryPredicateThe predicate to test the values with Tests to see if a sequence is partitioned according to a predicate. In other words, all the items in the sequence that satisfy the predicate are at the beginning of the sequence.
boolForwardIterator1The start of the input sequence ForwardIterator1One past the end of the input sequence ForwardIterator2The start of the second sequence BinaryPredicateThe predicate to compare elements withTests to see if the sequence [first,last) is a permutation of the sequence starting at first2. This function is part of the C++2011 standard library. boolForwardIterator1The start of the input sequence ForwardIterator1ForwardIterator2The start of the second sequence Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. This function is part of the C++2011 standard library. boolconst Range &The input range ForwardIteratorThe start of the second sequence Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. boost::disable_if_c< boost::is_same< Range, ForwardIterator >::value, bool >::typeconst Range &The input range ForwardIteratorThe start of the second sequence BinaryPredicateThe predicate to compare elements with Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.
boolForwardIterator1The start of the input sequence ForwardIterator1One past the end of the second sequence ForwardIterator2The start of the second sequence ForwardIterator2One past the end of the input sequence Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. This function is part of the C++2014 standard library. boolForwardIterator1The start of the input sequence ForwardIterator1One past the end of the input sequence ForwardIterator2The start of the second sequence ForwardIterator2One past the end of the second sequence BinaryPredicateThe predicate to compare elements withTests to see if the sequence [first,last) is a permutation of the sequence starting at first2. This function is part of the C++2014 standard library.
ForwardIteratorForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence PredA binary predicate that returns true if two elements are ordered. the point in the sequence [first, last) where the elements are unordered (according to the comparison predicate 'p'). ForwardIteratorForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence the point in the sequence [first, last) where the elements are unordered boolForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence PredA binary predicate that returns true if two elements are ordered. whether or not the entire sequence is sorted boolForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence whether or not the entire sequence is sorted boost::lazy_disable_if_c< boost::is_same< R, Pred >::value, typename boost::range_iterator< const R > >::typeconst R &The range to be tested. PredA binary predicate that returns true if two elements are ordered. – Range based versions of the C++11 functions the point in the range R where the elements are unordered (according to the comparison predicate 'p'). boost::range_iterator< const R >::typeconst R &The range to be tested. the point in the range R where the elements are unordered boost::lazy_disable_if_c< boost::is_same< R, Pred >::value, boost::mpl::identity< bool > >::typeconst R &The range to be tested. PredA binary predicate that returns true if two elements are ordered. whether or not the entire range R is sorted (according to the comparison predicate 'p'). boolconst R &The range to be tested. whether or not the entire range R is sorted boolForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence– Range based versions of the C++11 functions This function will return true for sequences that contain items that compare equal. If that is not what you intended, you should use is_strictly_increasing instead. true if the entire sequence is increasing; i.e, each item is greater than or equal to the previous one. boolconst R &The range to be tested. This function will return true for sequences that contain items that compare equal. If that is not what you intended, you should use is_strictly_increasing instead. true if the entire sequence is increasing; i.e, each item is greater than or equal to the previous one. boolForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence This function will return true for sequences that contain items that compare equal. If that is not what you intended, you should use is_strictly_decreasing instead. true if the entire sequence is decreasing; i.e, each item is less than or equal to the previous one. boolconst R &The range to be tested. This function will return true for sequences that contain items that compare equal. If that is not what you intended, you should use is_strictly_decreasing instead. true if the entire sequence is decreasing; i.e, each item is less than or equal to the previous one. boolForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence This function will return false for sequences that contain items that compare equal. If that is not what you intended, you should use is_increasing instead. true if the entire sequence is strictly increasing; i.e, each item is greater than the previous one boolconst R &The range to be tested. This function will return false for sequences that contain items that compare equal. If that is not what you intended, you should use is_increasing instead. true if the entire sequence is strictly increasing; i.e, each item is greater than the previous one boolForwardIteratorThe start of the sequence to be tested. ForwardIteratorOne past the end of the sequence This function will return false for sequences that contain items that compare equal. If that is not what you intended, you should use is_decreasing instead. true if the entire sequence is strictly decreasing; i.e, each item is less than the previous one boolconst R &The range to be tested. This function will return false for sequences that contain items that compare equal. If that is not what you intended, you should use is_decreasing instead. true if the entire sequence is strictly decreasing; i.e, each item is less than the previous one
Test ranges to see if no elements match a value or predicate. Marshall Clow boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence PredicateA predicate for testing the elements of the sequence returns true on an empty range true if none of the elements in [first, last) satisfy the predicate 'p' boolconst Range &The input range PredicateA predicate for testing the elements of the range returns true on an empty range true if none of the elements in the range satisfy the predicate 'p' boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence const V &A value to compare against returns true on an empty range true if none of the elements in [first, last) are equal to 'val' boolconst Range &The input range const V &A value to compare against returns true on an empty range true if none of the elements in the range are equal to 'val'
Test ranges to see if only one element matches a value or predicate. Marshall Clow boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence PredicateA predicate for testing the elements of the sequence true if the predicate 'p' is true for exactly one item in [first, last). boolconst Range &The input range PredicateA predicate for testing the elements of the range true if the predicate 'p' is true for exactly one item in the range. boolInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence const V &A value to compare against true if the value 'val' exists only once in [first, last). boolconst Range &The input range const V &A value to compare against true if the value 'val' exists only once in the range.
Copy a subset of a sequence to a new sequence. Marshall Clow std::pair< OutputIterator1, OutputIterator2 >InputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIterator1An output iterator to write the elements that satisfy the predicate into OutputIterator2An output iterator to write the elements that do not satisfy the predicate into UnaryPredicateA predicate for dividing the elements of the input sequence.Copies the elements that satisfy the predicate p from the range [first, last) to the range beginning at d_first_true, and copies the elements that do not satisfy p to the range beginning at d_first_false. This function is part of the C++2011 standard library. std::pair< OutputIterator1, OutputIterator2 >const Range &The input range OutputIterator1An output iterator to write the elements that satisfy the predicate into OutputIterator2An output iterator to write the elements that do not satisfy the predicate into UnaryPredicateA predicate for dividing the elements of the input sequence.
Find the partition point in a sequence. Marshall Clow ForwardIteratorForwardIteratorThe start of the input sequence ForwardIteratorOne past the end of the input sequence PredicateThe predicate to test the values with Given a partitioned range, returns the partition point, i.e, the first element that does not satisfy p. This function is part of the C++2011 standard library. boost::range_iterator< Range >::typeRange &The input range PredicateThe predicate to test the values with Given a partitioned range, returns the partition point.
Test ranges to if they are equal. Marshall Clow boolInputIterator1The start of the first range. InputIterator1One past the end of the first range. InputIterator2The start of the second range. InputIterator2One past the end of the second range. BinaryPredicateA predicate for comparing the elements of the ranges true if all elements in the two ranges are equal boolInputIterator1The start of the first range. InputIterator1One past the end of the first range. InputIterator2The start of the second range. InputIterator2One past the end of the second range. true if all elements in the two ranges are equal
Find the first mismatched element in a sequence. Marshall Clow std::pair< InputIterator1, InputIterator2 >InputIterator1The start of the first range. InputIterator1One past the end of the first range. InputIterator2The start of the second range. InputIterator2One past the end of the second range. BinaryPredicateA predicate for comparing the elements of the ranges a pair of iterators pointing to the first elements in the sequence that do not match std::pair< InputIterator1, InputIterator2 >InputIterator1The start of the first range. InputIterator1One past the end of the first range. InputIterator2The start of the second range. InputIterator2One past the end of the second range. a pair of iterators pointing to the first elements in the sequence that do not match
std::pair< BidirectionalIterator, BidirectionalIterator >BidirectionalIteratorBidirectionalIteratorBidirectionalIteratorPrediterator-based gather implementation std::pair< typename boost::range_iterator< const BidirectionalRange >::type, typename boost::range_iterator< const BidirectionalRange >::type >const BidirectionalRange &typename boost::range_iterator< const BidirectionalRange >::typePredrange-based gather implementation
Convert sequence of integral types into a sequence of hexadecimal characters and back. Based on the MySQL functions HEX and UNHEX. Marshall Clow exceptionexceptionBase exception class for all hex decoding errors. boost::algorithm::hex_decode_errorThrown when the input sequence unexpectedly ends. boost::algorithm::hex_decode_errorThrown when a non-hex value (0-9, A-F) encountered when decoding. Contains the offending character. boost::error_info< struct bad_char_, char > unspecifiedInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIteratorAn output iterator to the results into Converts a sequence of integral types into a hexadecimal sequence of characters. Based on the MySQL function of the same name The updated output iterator unspecifiedInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIteratorAn output iterator to the results into Converts a sequence of integral types into a lower case hexadecimal sequence of characters. Based on the MySQL function of the same name The updated output iterator boost::enable_if< boost::is_integral< T >, OutputIterator >::typeconst T *A pointer to a 0-terminated sequence of data. OutputIteratorAn output iterator to the results into Converts a sequence of integral types into a hexadecimal sequence of characters. Based on the MySQL function of the same name The updated output iterator boost::enable_if< boost::is_integral< T >, OutputIterator >::typeconst T *A pointer to a 0-terminated sequence of data. OutputIteratorAn output iterator to the results into Converts a sequence of integral types into a lower case hexadecimal sequence of characters. Based on the MySQL function of the same name The updated output iterator unspecifiedconst Range &The input range OutputIteratorAn output iterator to the results into Converts a sequence of integral types into a hexadecimal sequence of characters. Based on the MySQL function of the same name The updated output iterator unspecifiedconst Range &The input range OutputIteratorAn output iterator to the results into Converts a sequence of integral types into a lower case hexadecimal sequence of characters. Based on the MySQL function of the same name The updated output iterator OutputIteratorInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence OutputIteratorAn output iterator to the results into Converts a sequence of hexadecimal characters into a sequence of integers. Based on the MySQL function of the same name The updated output iterator OutputIteratorconst T *A pointer to a null-terminated input sequence. OutputIteratorAn output iterator to the results into Converts a sequence of hexadecimal characters into a sequence of integers. Based on the MySQL function of the same name The updated output iterator OutputIteratorconst Range &The input range OutputIteratorAn output iterator to the results into Converts a sequence of hexadecimal characters into a sequence of integers. Based on the MySQL function of the same name The updated output iterator Stringconst String &A container to be converted Converts a sequence of integral types into a hexadecimal sequence of characters. A container with the encoded text Stringconst String &A container to be converted Converts a sequence of integral types into a lower case hexadecimal sequence of characters. A container with the encoded text Stringconst String &A container to be converted Converts a sequence of hexadecimal characters into a sequence of characters. A container with the decoded text
Checks the input sequence on palindrome. Alexander Zaitsev boolBidirectionalIteratorThe start of the input sequence BidirectionalIteratorOne past the end of the input sequence PredicateA predicate used to compare the values. This function will return true for empty sequences and for palindromes. For other sequences function will return false. Complexity: O(N). true if the entire sequence is palindrome boolBidirectionalIteratorThe start of the input sequence BidirectionalIteratorOne past the end of the input sequence This function will return true for empty sequences and for palindromes. For other sequences function will return false. Complexity: O(N). true if the entire sequence is palindrome boolconst R &The range to be tested. This function will return true for empty sequences and for palindromes. For other sequences function will return false. Complexity: O(N). true if the entire sequence is palindrome boolconst R &The range to be tested. PredicateA predicate used to compare the values. This function will return true for empty sequences and for palindromes. For other sequences function will return false. Complexity: O(N). true if the entire sequence is palindrome boolconst char *C-string to be tested. This function will return true for empty sequences and for palindromes. For other sequences function will return false. Complexity: O(N). true if the entire sequence is palindrome boolconst char *C-string to be tested. PredicateA predicate used to compare the values. This function will return true for empty sequences and for palindromes. For other sequences function will return false. Complexity: O(N). true if the entire sequence is palindrome
Tell if a sequence is partitioned. Alexander Zaitsev InputIteratorInputIteratorThe start of the input sequence InputIteratorOne past the end of the input sequence UnaryPredicateThe predicate to test the values withTests to see if a sequence is partitioned according to a predicate. In other words, all the items in the sequence that satisfy the predicate are at the beginning of the sequence. Returns the first iterator 'it' in the sequence [first, last) for which is_partitioned(first, it, p) is false. Returns last if the entire sequence is partitioned. Complexity: O(N). boost::range_iterator< const Range >::typeconst Range &The input range UnaryPredicateThe predicate to test the values withTests to see if a sequence is partitioned according to a predicate. In other words, all the items in the sequence that satisfy the predicate are at the beginning of the sequence. Returns the first iterator 'it' in the sequence [first, last) for which is_partitioned(first, it, p) is false. Returns last if the entire sequence is partitioned. Complexity: O(N).
tuple< T const &, T const & >T const &T const & tuple< T const &, T const & >T const &T const &BinaryPredicate
std::pair< ForwardIter, ForwardIter >ForwardIterForwardIter std::pair< ForwardIter, ForwardIter >ForwardIterForwardIterBinaryPredicate ForwardIterForwardIterForwardIter ForwardIterForwardIterForwardIterBinaryPredicate ForwardIterForwardIterForwardIter ForwardIterForwardIterForwardIterBinaryPredicate ForwardIterForwardIterForwardIter ForwardIterForwardIterForwardIterBinaryPredicate ForwardIterForwardIterForwardIter ForwardIterForwardIterForwardIterBinaryPredicate std::pair< ForwardIter, ForwardIter >ForwardIterForwardIter std::pair< ForwardIter, ForwardIter >ForwardIterForwardIterBinaryPredicate std::pair< ForwardIter, ForwardIter >ForwardIterForwardIter std::pair< ForwardIter, ForwardIter >ForwardIterForwardIterBinaryPredicate std::pair< ForwardIter, ForwardIter >ForwardIterForwardIter std::pair< ForwardIter, ForwardIter >ForwardIterForwardIterBinaryPredicate std::pair< ForwardIter, ForwardIter >ForwardIterForwardIter std::pair< ForwardIter, ForwardIter >ForwardIterForwardIterBinaryPredicate
std::pair< corpusIter, corpusIter >corpusItercorpusIter std::pair< typename boost::range_iterator< Range >::type, typename boost::range_iterator< Range >::type >Range & patIterpatIter std::pair< corpusIter, corpusIter >corpusIterThe start of the data to search (Random Access Iterator) corpusIterOne past the end of the data to search patIterThe start of the pattern to search for (Random Access Iterator) patIterOne past the end of the data to search for Searches the corpus for the pattern. std::pair< corpusIter, corpusIter >corpusItercorpusIterconst PatternRange & boost::disable_if_c< boost::is_same< CorpusRange, patIter >::value, std::pair< typename boost::range_iterator< CorpusRange >::type, typename boost::range_iterator< CorpusRange >::type > >::typeCorpusRange &patIterpatIter std::pair< typename boost::range_iterator< CorpusRange >::type, typename boost::range_iterator< CorpusRange >::type >CorpusRange &const PatternRange & boost::algorithm::boyer_moore< typename boost::range_iterator< const Range >::type >const Range & boost::algorithm::boyer_moore< typename boost::range_iterator< Range >::type >Range &
std::pair< corpusIter, corpusIter >corpusItercorpusIter std::pair< typename boost::range_iterator< Range >::type, typename boost::range_iterator< Range >::type >Range & patIterpatIter std::pair< corpusIter, corpusIter >corpusIterThe start of the data to search (Random Access Iterator) corpusIterOne past the end of the data to search patIterThe start of the pattern to search for (Random Access Iterator) patIterOne past the end of the data to search for Searches the corpus for the pattern. std::pair< corpusIter, corpusIter >corpusItercorpusIterconst PatternRange & boost::disable_if_c< boost::is_same< CorpusRange, patIter >::value, std::pair< typename boost::range_iterator< CorpusRange >::type, typename boost::range_iterator< CorpusRange >::type > >::typeCorpusRange &patIterpatIter std::pair< typename boost::range_iterator< CorpusRange >::type, typename boost::range_iterator< CorpusRange >::type >CorpusRange &const PatternRange & boost::algorithm::boyer_moore_horspool< typename boost::range_iterator< const Range >::type >const Range & boost::algorithm::boyer_moore_horspool< typename boost::range_iterator< Range >::type >Range &
std::pair< corpusIter, corpusIter >corpusItercorpusIter std::pair< typename boost::range_iterator< Range >::type, typename boost::range_iterator< Range >::type >Range & patIterpatIter std::pair< corpusIter, corpusIter >corpusIterThe start of the data to search (Random Access Iterator) corpusIterOne past the end of the data to search patIterThe start of the pattern to search for (Random Access Iterator) patIterOne past the end of the data to search for Searches the corpus for the pattern. std::pair< corpusIter, corpusIter >corpusItercorpusIterconst PatternRange & boost::disable_if_c< boost::is_same< CorpusRange, patIter >::value, std::pair< typename boost::range_iterator< CorpusRange >::type, typename boost::range_iterator< CorpusRange >::type > >::typeCorpusRange &patIterpatIter std::pair< typename boost::range_iterator< CorpusRange >::type, typename boost::range_iterator< CorpusRange >::type >CorpusRange &const PatternRange & boost::algorithm::knuth_morris_pratt< typename boost::range_iterator< const Range >::type >const Range & boost::algorithm::knuth_morris_pratt< typename boost::range_iterator< Range >::type >Range &
Sort a subrange. Marshall Clow Suggested by Sean Parent in his CppCon 2015 keynote voidIteratorIteratorIteratorIteratorPred voidIteratorIteratorIteratorIterator voidIteratorIteratorIteratorIteratorPred voidIteratorIteratorIteratorIterator
Cumulative include for string_algo library
Cumulative include for string_algo library. In addition to string.hpp contains also regex-related stuff.