Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::algorithm Namespace Reference

Namespaces

 detail
 

Classes

class  boyer_moore
 
class  boyer_moore_horspool
 
class  find_iterator
 find_iterator More...
 
struct  FinderConcept
 Finder concept. More...
 
struct  FormatterConcept
 Formatter concept. More...
 
class  has_const_time_erase
 Const time erase trait. More...
 
class  has_const_time_erase< ::std::list< T, AllocT > >
 
class  has_const_time_erase< BOOST_STD_EXTENSION_NAMESPACE::slist< T, AllocT > >
 
class  has_const_time_erase< std::rope< T, TraitsT, AllocT > >
 
class  has_const_time_insert
 Const time insert trait. More...
 
class  has_const_time_insert< ::std::list< T, AllocT > >
 
class  has_const_time_insert< BOOST_STD_EXTENSION_NAMESPACE::slist< T, AllocT > >
 
class  has_const_time_insert< std::rope< T, TraitsT, AllocT > >
 
class  has_native_replace
 Native replace trait. More...
 
class  has_native_replace< std::basic_string< T, TraitsT, AllocT > >
 
class  has_native_replace< std::rope< T, TraitsT, AllocT > >
 
class  has_stable_iterators
 Stable iterators trait. More...
 
class  has_stable_iterators< ::std::list< T, AllocT > >
 
class  has_stable_iterators< BOOST_STD_EXTENSION_NAMESPACE::slist< T, AllocT > >
 
class  has_stable_iterators< std::rope< T, TraitsT, AllocT > >
 
struct  hex_decode_error
 Base exception class for all hex decoding errors. More...
 
struct  is_equal
 is_equal functor More...
 
struct  is_iequal
 case insensitive version of is_equal More...
 
struct  is_iless
 case insensitive version of is_less More...
 
struct  is_less
 is_less functor More...
 
struct  is_not_greater
 is_not_greater functor More...
 
struct  is_not_igreater
 case insensitive version of is_not_greater More...
 
class  knuth_morris_pratt
 
struct  non_hex_input
 Thrown when a non-hex value (0-9, A-F) encountered when decoding. More...
 
struct  not_enough_input
 Thrown when the input sequence unexpectedly ends. More...
 
struct  predicate_facade
 Predicate facade. More...
 
struct  size_descriptor
 
class  split_iterator
 split_iterator More...
 

Typedefs

typedef boost::error_info
< struct bad_char_, char > 
bad_char
 
typedef size_descriptor< 1 >::type yes_type
 
typedef size_descriptor< 2 >::type no_type
 

Enumerations

enum  token_compress_mode_type {
  token_compress_on,
  token_compress_off
}
 Token compression mode. More...
 

Functions

template<typename T , typename Pred >
T const & clamp (T const &val, typename boost::mpl::identity< T >::type const &lo, typename boost::mpl::identity< T >::type const &hi, Pred p)
 
template<typename T >
T const & clamp (const T &val, typename boost::mpl::identity< T >::type const &lo, typename boost::mpl::identity< T >::type const &hi)
 
template<typename InputIterator , typename OutputIterator >
OutputIterator clamp_range (InputIterator first, InputIterator last, OutputIterator out, typename std::iterator_traits< InputIterator >::value_type const &lo, typename std::iterator_traits< InputIterator >::value_type const &hi)
 
template<typename Range , typename OutputIterator >
boost::disable_if_c
< boost::is_same< Range,
OutputIterator >::value,
OutputIterator >::type 
clamp_range (const Range &r, OutputIterator out, typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &lo, typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &hi)
 
template<typename InputIterator , typename OutputIterator , typename Pred >
OutputIterator clamp_range (InputIterator first, InputIterator last, OutputIterator out, typename std::iterator_traits< InputIterator >::value_type const &lo, typename std::iterator_traits< InputIterator >::value_type const &hi, Pred p)
 
template<typename Range , typename OutputIterator , typename Pred >
boost::disable_if_c
< boost::is_same< Range,
OutputIterator >::value,
OutputIterator >::type 
clamp_range (const Range &r, OutputIterator out, typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &lo, typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &hi, Pred p)
 
template<typename InputIterator , typename Predicate >
bool all_of (InputIterator first, InputIterator last, Predicate p)
 
template<typename Range , typename Predicate >
bool all_of (const Range &r, Predicate p)
 
template<typename InputIterator , typename T >
bool all_of_equal (InputIterator first, InputIterator last, const T &val)
 
template<typename Range , typename T >
bool all_of_equal (const Range &r, const T &val)
 
template<typename InputIterator , typename Predicate >
bool any_of (InputIterator first, InputIterator last, Predicate p)
 
template<typename Range , typename Predicate >
bool any_of (const Range &r, Predicate p)
 
template<typename InputIterator , typename V >
bool any_of_equal (InputIterator first, InputIterator last, const V &val)
 
template<typename Range , typename V >
bool any_of_equal (const Range &r, const V &val)
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator copy_if (InputIterator first, InputIterator last, OutputIterator result, Predicate p)
 Copies all the elements from the input range that satisfy the predicate to the output range. More...
 
template<typename Range , typename OutputIterator , typename Predicate >
OutputIterator copy_if (const Range &r, OutputIterator result, Predicate p)
 Copies all the elements from the input range that satisfy the predicate to the output range. More...
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
std::pair< InputIterator,
OutputIterator > 
copy_while (InputIterator first, InputIterator last, OutputIterator result, Predicate p)
 Copies all the elements at the start of the input range that satisfy the predicate to the output range. More...
 
template<typename Range , typename OutputIterator , typename Predicate >
std::pair< typename
boost::range_iterator< const
Range >::type, OutputIterator > 
copy_while (const Range &r, OutputIterator result, Predicate p)
 Copies all the elements at the start of the input range that satisfy the predicate to the output range. More...
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
std::pair< InputIterator,
OutputIterator > 
copy_until (InputIterator first, InputIterator last, OutputIterator result, Predicate p)
 Copies all the elements at the start of the input range that do not satisfy the predicate to the output range. More...
 
template<typename Range , typename OutputIterator , typename Predicate >
std::pair< typename
boost::range_iterator< const
Range >::type, OutputIterator > 
copy_until (const Range &r, OutputIterator result, Predicate p)
 Copies all the elements at the start of the input range that do not satisfy the predicate to the output range. More...
 
template<typename InputIterator , typename Size , typename OutputIterator >
OutputIterator copy_n (InputIterator first, Size n, OutputIterator result)
 Copies exactly n (n > 0) elements from the range starting at first to the range starting at result. More...
 
template<typename InputIterator , typename Predicate >
InputIterator find_if_not (InputIterator first, InputIterator last, Predicate p)
 Finds the first element in the sequence that does not satisfy the predicate. More...
 
template<typename Range , typename Predicate >
boost::range_iterator< const
Range >::type 
find_if_not (const Range &r, Predicate p)
 Finds the first element in the sequence that does not satisfy the predicate. More...
 
template<typename ForwardIterator , typename T >
void iota (ForwardIterator first, ForwardIterator last, T value)
 Generates an increasing sequence of values, and stores them in [first, last) More...
 
template<typename Range , typename T >
void iota (Range &r, T value)
 Generates an increasing sequence of values, and stores them in the input Range. More...
 
template<typename OutputIterator , typename T >
OutputIterator iota_n (OutputIterator out, T value, std::size_t n)
 Generates an increasing sequence of values, and stores them in the input Range. More...
 
template<typename InputIterator , typename UnaryPredicate >
bool is_partitioned (InputIterator first, InputIterator last, UnaryPredicate p)
 Tests to see if a sequence is partitioned according to a predicate. More...
 
template<typename Range , typename UnaryPredicate >
bool is_partitioned (const Range &r, UnaryPredicate p)
 Generates an increasing sequence of values, and stores them in the input Range. More...
 
template<class ForwardIterator1 , class ForwardIterator2 , class BinaryPredicate >
bool is_permutation (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, BinaryPredicate p)
 Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. More...
 
template<class ForwardIterator1 , class ForwardIterator2 >
bool is_permutation (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2)
 Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. More...
 
template<typename Range , typename ForwardIterator >
bool is_permutation (const Range &r, ForwardIterator first2)
 Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. More...
 
template<typename Range , typename ForwardIterator , typename BinaryPredicate >
boost::disable_if_c
< boost::is_same< Range,
ForwardIterator >::value, bool >
::type 
is_permutation (const Range &r, ForwardIterator first2, BinaryPredicate pred)
 Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. More...
 
template<typename ForwardIterator , typename Pred >
ForwardIterator is_sorted_until (ForwardIterator first, ForwardIterator last, Pred p)
 
template<typename ForwardIterator >
ForwardIterator is_sorted_until (ForwardIterator first, ForwardIterator last)
 
template<typename ForwardIterator , typename Pred >
bool is_sorted (ForwardIterator first, ForwardIterator last, Pred p)
 
template<typename ForwardIterator >
bool is_sorted (ForwardIterator first, ForwardIterator last)
 
template<typename R , typename Pred >
boost::lazy_disable_if_c
< boost::is_same< R, Pred >
::value, typename
boost::range_iterator< const R >
>::type 
is_sorted_until (const R &range, Pred p)
 – Range based versions of the C++11 functions More...
 
template<typename R >
boost::range_iterator< const R >
::type 
is_sorted_until (const R &range)
 
template<typename R , typename Pred >
boost::lazy_disable_if_c
< boost::is_same< R, Pred >
::value, boost::mpl::identity
< bool > >::type 
is_sorted (const R &range, Pred p)
 
template<typename R >
bool is_sorted (const R &range)
 
template<typename ForwardIterator >
bool is_increasing (ForwardIterator first, ForwardIterator last)
 – Range based versions of the C++11 functions More...
 
template<typename R >
bool is_increasing (const R &range)
 
template<typename ForwardIterator >
bool is_decreasing (ForwardIterator first, ForwardIterator last)
 
template<typename R >
bool is_decreasing (const R &range)
 
template<typename ForwardIterator >
bool is_strictly_increasing (ForwardIterator first, ForwardIterator last)
 
template<typename R >
bool is_strictly_increasing (const R &range)
 
template<typename ForwardIterator >
bool is_strictly_decreasing (ForwardIterator first, ForwardIterator last)
 
template<typename R >
bool is_strictly_decreasing (const R &range)
 
template<typename InputIterator , typename Predicate >
bool none_of (InputIterator first, InputIterator last, Predicate p)
 
template<typename Range , typename Predicate >
bool none_of (const Range &r, Predicate p)
 
template<typename InputIterator , typename V >
bool none_of_equal (InputIterator first, InputIterator last, const V &val)
 
template<typename Range , typename V >
bool none_of_equal (const Range &r, const V &val)
 
template<typename InputIterator , typename Predicate >
bool one_of (InputIterator first, InputIterator last, Predicate p)
 
template<typename Range , typename Predicate >
bool one_of (const Range &r, Predicate p)
 
template<typename InputIterator , typename V >
bool one_of_equal (InputIterator first, InputIterator last, const V &val)
 
template<typename Range , typename V >
bool one_of_equal (const Range &r, const V &val)
 
template<typename InputIterator , typename OutputIterator1 , typename OutputIterator2 , typename UnaryPredicate >
std::pair< OutputIterator1,
OutputIterator2 > 
partition_copy (InputIterator first, InputIterator last, OutputIterator1 out_true, OutputIterator2 out_false, UnaryPredicate p)
 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. More...
 
template<typename Range , typename OutputIterator1 , typename OutputIterator2 , typename UnaryPredicate >
std::pair< OutputIterator1,
OutputIterator2 > 
partition_copy (const Range &r, OutputIterator1 out_true, OutputIterator2 out_false, UnaryPredicate p)
 
template<typename ForwardIterator , typename Predicate >
ForwardIterator partition_point (ForwardIterator first, ForwardIterator last, Predicate p)
 Given a partitioned range, returns the partition point, i.e, the first element that does not satisfy p. More...
 
template<typename Range , typename Predicate >
boost::range_iterator< Range > partition_point (Range &r, Predicate p)
 Given a partitioned range, returns the partition point. More...
 
template<class InputIterator1 , class InputIterator2 , class BinaryPredicate >
bool equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, BinaryPredicate pred)
 
template<class InputIterator1 , class InputIterator2 >
bool equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
 
template<class ForwardIterator1 , class ForwardIterator2 >
bool is_permutation (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2)
 Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. More...
 
template<class ForwardIterator1 , class ForwardIterator2 , class BinaryPredicate >
bool is_permutation (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred)
 Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2. More...
 
template<class InputIterator1 , class InputIterator2 , class BinaryPredicate >
std::pair< InputIterator1,
InputIterator2 > 
mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, BinaryPredicate pred)
 
template<class InputIterator1 , class InputIterator2 >
std::pair< InputIterator1,
InputIterator2 > 
mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
 
template<typename BidirectionalIterator , typename Pred >
std::pair
< BidirectionalIterator,
BidirectionalIterator > 
gather (BidirectionalIterator first, BidirectionalIterator last, BidirectionalIterator pivot, Pred pred)
 iterator-based gather implementation More...
 
template<typename BidirectionalRange , typename Pred >
std::pair< typename
boost::range_iterator< const
BidirectionalRange >::type,
typename boost::range_iterator
< const BidirectionalRange >
::type
gather (const BidirectionalRange &range, typename boost::range_iterator< const BidirectionalRange >::type pivot, Pred pred)
 range-based gather implementation More...
 
template<typename InputIterator , typename OutputIterator >
boost::enable_if
< boost::is_integral< typename
detail::hex_iterator_traits
< InputIterator >::value_type >
, OutputIterator >::type 
hex (InputIterator first, InputIterator last, OutputIterator out)
 Converts a sequence of integral types into a hexadecimal sequence of characters. More...
 
template<typename T , typename OutputIterator >
boost::enable_if
< boost::is_integral< T >
, OutputIterator >::type 
hex (const T *ptr, OutputIterator out)
 Converts a sequence of integral types into a hexadecimal sequence of characters. More...
 
template<typename Range , typename OutputIterator >
boost::enable_if
< boost::is_integral< typename
detail::hex_iterator_traits
< typename Range::iterator >
::value_type >, OutputIterator >
::type 
hex (const Range &r, OutputIterator out)
 Converts a sequence of integral types into a hexadecimal sequence of characters. More...
 
template<typename InputIterator , typename OutputIterator >
OutputIterator unhex (InputIterator first, InputIterator last, OutputIterator out)
 Converts a sequence of hexadecimal characters into a sequence of integers. More...
 
template<typename T , typename OutputIterator >
OutputIterator unhex (const T *ptr, OutputIterator out)
 Converts a sequence of hexadecimal characters into a sequence of integers. More...
 
template<typename Range , typename OutputIterator >
OutputIterator unhex (const Range &r, OutputIterator out)
 Converts a sequence of hexadecimal characters into a sequence of integers. More...
 
template<typename String >
String hex (const String &input)
 Converts a sequence of integral types into a hexadecimal sequence of characters. More...
 
template<typename String >
String unhex (const String &input)
 Converts a sequence of hexadecimal characters into a sequence of characters. More...
 
template<typename patIter , typename corpusIter >
corpusIter boyer_moore_search (corpusIter corpus_first, corpusIter corpus_last, patIter pat_first, patIter pat_last)
 Searches the corpus for the pattern. More...
 
template<typename PatternRange , typename corpusIter >
corpusIter boyer_moore_search (corpusIter corpus_first, corpusIter corpus_last, const PatternRange &pattern)
 
template<typename patIter , typename CorpusRange >
boost::lazy_disable_if_c
< boost::is_same< CorpusRange,
patIter >::value, typename
boost::range_iterator
< CorpusRange > >::type 
boyer_moore_search (CorpusRange &corpus, patIter pat_first, patIter pat_last)
 
template<typename PatternRange , typename CorpusRange >
boost::range_iterator
< CorpusRange >::type 
boyer_moore_search (CorpusRange &corpus, const PatternRange &pattern)
 
template<typename Range >
boost::algorithm::boyer_moore
< typename
boost::range_iterator< const
Range >::type
make_boyer_moore (const Range &r)
 
template<typename Range >
boost::algorithm::boyer_moore
< typename
boost::range_iterator< Range >
::type
make_boyer_moore (Range &r)
 
template<typename patIter , typename corpusIter >
corpusIter boyer_moore_horspool_search (corpusIter corpus_first, corpusIter corpus_last, patIter pat_first, patIter pat_last)
 Searches the corpus for the pattern. More...
 
template<typename PatternRange , typename corpusIter >
corpusIter boyer_moore_horspool_search (corpusIter corpus_first, corpusIter corpus_last, const PatternRange &pattern)
 
template<typename patIter , typename CorpusRange >
boost::lazy_disable_if_c
< boost::is_same< CorpusRange,
patIter >::value, typename
boost::range_iterator
< CorpusRange > >::type 
boyer_moore_horspool_search (CorpusRange &corpus, patIter pat_first, patIter pat_last)
 
template<typename PatternRange , typename CorpusRange >
boost::range_iterator
< CorpusRange >::type 
boyer_moore_horspool_search (CorpusRange &corpus, const PatternRange &pattern)
 
template<typename Range >
boost::algorithm::boyer_moore_horspool
< typename
boost::range_iterator< const
Range >::type
make_boyer_moore_horspool (const Range &r)
 
template<typename Range >
boost::algorithm::boyer_moore_horspool
< typename
boost::range_iterator< Range >
::type
make_boyer_moore_horspool (Range &r)
 
template<typename patIter , typename corpusIter >
corpusIter knuth_morris_pratt_search (corpusIter corpus_first, corpusIter corpus_last, patIter pat_first, patIter pat_last)
 Searches the corpus for the pattern. More...
 
template<typename PatternRange , typename corpusIter >
corpusIter knuth_morris_pratt_search (corpusIter corpus_first, corpusIter corpus_last, const PatternRange &pattern)
 
template<typename patIter , typename CorpusRange >
boost::lazy_disable_if_c
< boost::is_same< CorpusRange,
patIter >::value, typename
boost::range_iterator
< CorpusRange > >::type 
knuth_morris_pratt_search (CorpusRange &corpus, patIter pat_first, patIter pat_last)
 
template<typename PatternRange , typename CorpusRange >
boost::range_iterator
< CorpusRange >::type 
knuth_morris_pratt_search (CorpusRange &corpus, const PatternRange &pattern)
 
template<typename Range >
boost::algorithm::knuth_morris_pratt
< typename
boost::range_iterator< const
Range >::type
make_knuth_morris_pratt (const Range &r)
 
template<typename Range >
boost::algorithm::knuth_morris_pratt
< typename
boost::range_iterator< Range >
::type
make_knuth_morris_pratt (Range &r)
 
template<typename OutputIteratorT , typename RangeT >
OutputIteratorT to_lower_copy (OutputIteratorT Output, const RangeT &Input, const std::locale &Loc=std::locale())
 Convert to lower case. More...
 
template<typename SequenceT >
SequenceT to_lower_copy (const SequenceT &Input, const std::locale &Loc=std::locale())
 Convert to lower case. More...
 
template<typename WritableRangeT >
void to_lower (WritableRangeT &Input, const std::locale &Loc=std::locale())
 Convert to lower case. More...
 
template<typename OutputIteratorT , typename RangeT >
OutputIteratorT to_upper_copy (OutputIteratorT Output, const RangeT &Input, const std::locale &Loc=std::locale())
 Convert to upper case. More...
 
template<typename SequenceT >
SequenceT to_upper_copy (const SequenceT &Input, const std::locale &Loc=std::locale())
 Convert to upper case. More...
 
template<typename WritableRangeT >
void to_upper (WritableRangeT &Input, const std::locale &Loc=std::locale())
 Convert to upper case. More...
 
detail::is_classifiedF is_classified (std::ctype_base::mask Type, const std::locale &Loc=std::locale())
 is_classified predicate More...
 
detail::is_classifiedF is_space (const std::locale &Loc=std::locale())
 is_space predicate More...
 
detail::is_classifiedF is_alnum (const std::locale &Loc=std::locale())
 is_alnum predicate More...
 
detail::is_classifiedF is_alpha (const std::locale &Loc=std::locale())
 is_alpha predicate More...
 
detail::is_classifiedF is_cntrl (const std::locale &Loc=std::locale())
 is_cntrl predicate More...
 
detail::is_classifiedF is_digit (const std::locale &Loc=std::locale())
 is_digit predicate More...
 
detail::is_classifiedF is_graph (const std::locale &Loc=std::locale())
 is_graph predicate More...
 
detail::is_classifiedF is_lower (const std::locale &Loc=std::locale())
 is_lower predicate More...
 
detail::is_classifiedF is_print (const std::locale &Loc=std::locale())
 is_print predicate More...
 
detail::is_classifiedF is_punct (const std::locale &Loc=std::locale())
 is_punct predicate More...
 
detail::is_classifiedF is_upper (const std::locale &Loc=std::locale())
 is_upper predicate More...
 
detail::is_classifiedF is_xdigit (const std::locale &Loc=std::locale())
 is_xdigit predicate More...
 
template<typename RangeT >
detail::is_any_ofF
< BOOST_STRING_TYPENAME
range_value< RangeT >::type
is_any_of (const RangeT &Set)
 is_any_of predicate More...
 
template<typename CharT >
detail::is_from_rangeF< CharT > is_from_range (CharT From, CharT To)
 is_from_range predicate More...
 
template<typename Pred1T , typename Pred2T >
detail::pred_andF< Pred1T, Pred2T > operator&& (const predicate_facade< Pred1T > &Pred1, const predicate_facade< Pred2T > &Pred2)
 predicate 'and' composition predicate More...
 
template<typename Pred1T , typename Pred2T >
detail::pred_orF< Pred1T, Pred2T > operator|| (const predicate_facade< Pred1T > &Pred1, const predicate_facade< Pred2T > &Pred2)
 predicate 'or' composition predicate More...
 
template<typename PredT >
detail::pred_notF< PredT > operator! (const predicate_facade< PredT > &Pred)
 predicate negation operator More...
 
template<typename OutputIteratorT , typename RangeT >
OutputIteratorT erase_range_copy (OutputIteratorT Output, const RangeT &Input, const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< RangeT >::type > &SearchRange)
 Erase range algorithm. More...
 
template<typename SequenceT >
SequenceT erase_range_copy (const SequenceT &Input, const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< SequenceT >::type > &SearchRange)
 Erase range algorithm. More...
 
template<typename SequenceT >
void erase_range (SequenceT &Input, const iterator_range< BOOST_STRING_TYPENAME range_iterator< SequenceT >::type > &SearchRange)
 Erase range algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT erase_first_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search)
 Erase first algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT erase_first_copy (const SequenceT &Input, const RangeT &Search)
 Erase first algorithm. More...
 
template<typename SequenceT , typename RangeT >
void erase_first (SequenceT &Input, const RangeT &Search)
 Erase first algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT ierase_first_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const std::locale &Loc=std::locale())
 Erase first algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
SequenceT ierase_first_copy (const SequenceT &Input, const RangeT &Search, const std::locale &Loc=std::locale())
 Erase first algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
void ierase_first (SequenceT &Input, const RangeT &Search, const std::locale &Loc=std::locale())
 Erase first algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT erase_last_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search)
 Erase last algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT erase_last_copy (const SequenceT &Input, const RangeT &Search)
 Erase last algorithm. More...
 
template<typename SequenceT , typename RangeT >
void erase_last (SequenceT &Input, const RangeT &Search)
 Erase last algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT ierase_last_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const std::locale &Loc=std::locale())
 Erase last algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
SequenceT ierase_last_copy (const SequenceT &Input, const RangeT &Search, const std::locale &Loc=std::locale())
 Erase last algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
void ierase_last (SequenceT &Input, const RangeT &Search, const std::locale &Loc=std::locale())
 Erase last algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT erase_nth_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, int Nth)
 Erase nth algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT erase_nth_copy (const SequenceT &Input, const RangeT &Search, int Nth)
 Erase nth algorithm. More...
 
template<typename SequenceT , typename RangeT >
void erase_nth (SequenceT &Input, const RangeT &Search, int Nth)
 Erase nth algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT ierase_nth_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, int Nth, const std::locale &Loc=std::locale())
 Erase nth algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
SequenceT ierase_nth_copy (const SequenceT &Input, const RangeT &Search, int Nth, const std::locale &Loc=std::locale())
 Erase nth algorithm. More...
 
template<typename SequenceT , typename RangeT >
void ierase_nth (SequenceT &Input, const RangeT &Search, int Nth, const std::locale &Loc=std::locale())
 Erase nth algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT erase_all_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search)
 Erase all algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT erase_all_copy (const SequenceT &Input, const RangeT &Search)
 Erase all algorithm. More...
 
template<typename SequenceT , typename RangeT >
void erase_all (SequenceT &Input, const RangeT &Search)
 Erase all algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT ierase_all_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const std::locale &Loc=std::locale())
 Erase all algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
SequenceT ierase_all_copy (const SequenceT &Input, const RangeT &Search, const std::locale &Loc=std::locale())
 Erase all algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename RangeT >
void ierase_all (SequenceT &Input, const RangeT &Search, const std::locale &Loc=std::locale())
 Erase all algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename RangeT >
OutputIteratorT erase_head_copy (OutputIteratorT Output, const RangeT &Input, int N)
 Erase head algorithm. More...
 
template<typename SequenceT >
SequenceT erase_head_copy (const SequenceT &Input, int N)
 Erase head algorithm. More...
 
template<typename SequenceT >
void erase_head (SequenceT &Input, int N)
 Erase head algorithm. More...
 
template<typename OutputIteratorT , typename RangeT >
OutputIteratorT erase_tail_copy (OutputIteratorT Output, const RangeT &Input, int N)
 Erase tail algorithm. More...
 
template<typename SequenceT >
SequenceT erase_tail_copy (const SequenceT &Input, int N)
 Erase tail algorithm. More...
 
template<typename SequenceT >
void erase_tail (SequenceT &Input, int N)
 Erase tail algorithm. More...
 
template<typename RangeT , typename FinderT >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
find (RangeT &Input, const FinderT &Finder)
 Generic find algorithm. More...
 
template<typename Range1T , typename Range2T >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< Range1T >
::type
find_first (Range1T &Input, const Range2T &Search)
 Find first algorithm. More...
 
template<typename Range1T , typename Range2T >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< Range1T >
::type
ifind_first (Range1T &Input, const Range2T &Search, const std::locale &Loc=std::locale())
 Find first algorithm ( case insensitive ) More...
 
template<typename Range1T , typename Range2T >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< Range1T >
::type
find_last (Range1T &Input, const Range2T &Search)
 Find last algorithm. More...
 
template<typename Range1T , typename Range2T >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< Range1T >
::type
ifind_last (Range1T &Input, const Range2T &Search, const std::locale &Loc=std::locale())
 Find last algorithm ( case insensitive ) More...
 
template<typename Range1T , typename Range2T >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< Range1T >
::type
find_nth (Range1T &Input, const Range2T &Search, int Nth)
 Find n-th algorithm. More...
 
template<typename Range1T , typename Range2T >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< Range1T >
::type
ifind_nth (Range1T &Input, const Range2T &Search, int Nth, const std::locale &Loc=std::locale())
 Find n-th algorithm ( case insensitive ). More...
 
template<typename RangeT >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
find_head (RangeT &Input, int N)
 Find head algorithm. More...
 
template<typename RangeT >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
find_tail (RangeT &Input, int N)
 Find tail algorithm. More...
 
template<typename RangeT , typename PredicateT >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
find_token (RangeT &Input, PredicateT Pred, token_compress_mode_type eCompress=token_compress_off)
 Find token algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename FinderT , typename FormatterT >
OutputIteratorT find_format_copy (OutputIteratorT Output, const RangeT &Input, FinderT Finder, FormatterT Formatter)
 Generic replace algorithm. More...
 
template<typename SequenceT , typename FinderT , typename FormatterT >
SequenceT find_format_copy (const SequenceT &Input, FinderT Finder, FormatterT Formatter)
 Generic replace algorithm. More...
 
template<typename SequenceT , typename FinderT , typename FormatterT >
void find_format (SequenceT &Input, FinderT Finder, FormatterT Formatter)
 Generic replace algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename FinderT , typename FormatterT >
OutputIteratorT find_format_all_copy (OutputIteratorT Output, const RangeT &Input, FinderT Finder, FormatterT Formatter)
 Generic replace all algorithm. More...
 
template<typename SequenceT , typename FinderT , typename FormatterT >
SequenceT find_format_all_copy (const SequenceT &Input, FinderT Finder, FormatterT Formatter)
 Generic replace all algorithm. More...
 
template<typename SequenceT , typename FinderT , typename FormatterT >
void find_format_all (SequenceT &Input, FinderT Finder, FormatterT Formatter)
 Generic replace all algorithm. More...
 
template<typename RangeT , typename FinderT >
find_iterator
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
make_find_iterator (RangeT &Collection, FinderT Finder)
 find iterator construction helper More...
 
template<typename RangeT , typename FinderT >
split_iterator
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
make_split_iterator (RangeT &Collection, FinderT Finder)
 split iterator construction helper More...
 
template<typename RangeT >
detail::first_finderF
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type, is_equal
first_finder (const RangeT &Search)
 "First" finder More...
 
template<typename RangeT , typename PredicateT >
detail::first_finderF
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type, PredicateT > 
first_finder (const RangeT &Search, PredicateT Comp)
 "First" finder More...
 
template<typename RangeT >
detail::last_finderF
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type, is_equal
last_finder (const RangeT &Search)
 "Last" finder More...
 
template<typename RangeT , typename PredicateT >
detail::last_finderF
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type, PredicateT > 
last_finder (const RangeT &Search, PredicateT Comp)
 "Last" finder More...
 
template<typename RangeT >
detail::nth_finderF
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type, is_equal
nth_finder (const RangeT &Search, int Nth)
 "Nth" finder More...
 
template<typename RangeT , typename PredicateT >
detail::nth_finderF
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type, PredicateT > 
nth_finder (const RangeT &Search, int Nth, PredicateT Comp)
 "Nth" finder More...
 
detail::head_finderF head_finder (int N)
 "Head" finder More...
 
detail::tail_finderF tail_finder (int N)
 "Tail" finder More...
 
template<typename PredicateT >
detail::token_finderF< PredicateT > token_finder (PredicateT Pred, token_compress_mode_type eCompress=token_compress_off)
 "Token" finder More...
 
template<typename ForwardIteratorT >
detail::range_finderF
< ForwardIteratorT > 
range_finder (ForwardIteratorT Begin, ForwardIteratorT End)
 "Range" finder More...
 
template<typename ForwardIteratorT >
detail::range_finderF
< ForwardIteratorT > 
range_finder (iterator_range< ForwardIteratorT > Range)
 "Range" finder More...
 
template<typename RangeT >
detail::const_formatF
< iterator_range
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type > > 
const_formatter (const RangeT &Format)
 Constant formatter. More...
 
template<typename RangeT >
detail::identity_formatF
< iterator_range
< BOOST_STRING_TYPENAME
range_const_iterator< RangeT >
::type > > 
identity_formatter ()
 Identity formatter. More...
 
template<typename RangeT >
detail::empty_formatF
< BOOST_STRING_TYPENAME
range_value< RangeT >::type
empty_formatter (const RangeT &)
 Empty formatter. More...
 
template<typename FinderT >
detail::dissect_formatF< FinderT > dissect_formatter (const FinderT &Finder)
 Empty formatter. More...
 
template<typename SequenceSequenceT , typename RangeT , typename FinderT >
SequenceSequenceT & iter_find (SequenceSequenceT &Result, RangeT &Input, FinderT Finder)
 Iter find algorithm. More...
 
template<typename SequenceSequenceT , typename RangeT , typename FinderT >
SequenceSequenceT & iter_split (SequenceSequenceT &Result, RangeT &Input, FinderT Finder)
 Split find algorithm. More...
 
template<typename SequenceSequenceT , typename Range1T >
range_value< SequenceSequenceT >
::type 
join (const SequenceSequenceT &Input, const Range1T &Separator)
 Join algorithm. More...
 
template<typename SequenceSequenceT , typename Range1T , typename PredicateT >
range_value< SequenceSequenceT >
::type 
join_if (const SequenceSequenceT &Input, const Range1T &Separator, PredicateT Pred)
 Conditional join algorithm. More...
 
template<typename Range1T , typename Range2T , typename PredicateT >
bool starts_with (const Range1T &Input, const Range2T &Test, PredicateT Comp)
 'Starts with' predicate More...
 
template<typename Range1T , typename Range2T >
bool starts_with (const Range1T &Input, const Range2T &Test)
 'Starts with' predicate More...
 
template<typename Range1T , typename Range2T >
bool istarts_with (const Range1T &Input, const Range2T &Test, const std::locale &Loc=std::locale())
 'Starts with' predicate ( case insensitive ) More...
 
template<typename Range1T , typename Range2T , typename PredicateT >
bool ends_with (const Range1T &Input, const Range2T &Test, PredicateT Comp)
 'Ends with' predicate More...
 
template<typename Range1T , typename Range2T >
bool ends_with (const Range1T &Input, const Range2T &Test)
 'Ends with' predicate More...
 
template<typename Range1T , typename Range2T >
bool iends_with (const Range1T &Input, const Range2T &Test, const std::locale &Loc=std::locale())
 'Ends with' predicate ( case insensitive ) More...
 
template<typename Range1T , typename Range2T , typename PredicateT >
bool contains (const Range1T &Input, const Range2T &Test, PredicateT Comp)
 'Contains' predicate More...
 
template<typename Range1T , typename Range2T >
bool contains (const Range1T &Input, const Range2T &Test)
 'Contains' predicate More...
 
template<typename Range1T , typename Range2T >
bool icontains (const Range1T &Input, const Range2T &Test, const std::locale &Loc=std::locale())
 'Contains' predicate ( case insensitive ) More...
 
template<typename Range1T , typename Range2T , typename PredicateT >
bool equals (const Range1T &Input, const Range2T &Test, PredicateT Comp)
 'Equals' predicate More...
 
template<typename Range1T , typename Range2T >
bool equals (const Range1T &Input, const Range2T &Test)
 'Equals' predicate More...
 
template<typename Range1T , typename Range2T >
bool iequals (const Range1T &Input, const Range2T &Test, const std::locale &Loc=std::locale())
 'Equals' predicate ( case insensitive ) More...
 
template<typename Range1T , typename Range2T , typename PredicateT >
bool lexicographical_compare (const Range1T &Arg1, const Range2T &Arg2, PredicateT Pred)
 Lexicographical compare predicate. More...
 
template<typename Range1T , typename Range2T >
bool lexicographical_compare (const Range1T &Arg1, const Range2T &Arg2)
 Lexicographical compare predicate. More...
 
template<typename Range1T , typename Range2T >
bool ilexicographical_compare (const Range1T &Arg1, const Range2T &Arg2, const std::locale &Loc=std::locale())
 Lexicographical compare predicate (case-insensitive) More...
 
template<typename RangeT , typename PredicateT >
bool all (const RangeT &Input, PredicateT Pred)
 'All' predicate More...
 
template<typename RangeT , typename CharT , typename RegexTraitsT >
iterator_range
< BOOST_STRING_TYPENAME
range_iterator< RangeT >::type
find_regex (RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Find regex algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
OutputIteratorT replace_regex_copy (OutputIteratorT Output, const RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &Format, match_flag_type Flags=match_default|format_default)
 Replace regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
SequenceT replace_regex_copy (const SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &Format, match_flag_type Flags=match_default|format_default)
 Replace regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
void replace_regex (SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &Format, match_flag_type Flags=match_default|format_default)
 Replace regex algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
OutputIteratorT replace_all_regex_copy (OutputIteratorT Output, const RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &Format, match_flag_type Flags=match_default|format_default)
 Replace all regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
SequenceT replace_all_regex_copy (const SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &Format, match_flag_type Flags=match_default|format_default)
 Replace all regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
void replace_all_regex (SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &Format, match_flag_type Flags=match_default|format_default)
 Replace all regex algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT >
OutputIteratorT erase_regex_copy (OutputIteratorT Output, const RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Erase regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT >
SequenceT erase_regex_copy (const SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Erase regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT >
void erase_regex (SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Erase regex algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT >
OutputIteratorT erase_all_regex_copy (OutputIteratorT Output, const RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Erase all regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT >
SequenceT erase_all_regex_copy (const SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Erase all regex algorithm. More...
 
template<typename SequenceT , typename CharT , typename RegexTraitsT >
void erase_all_regex (SequenceT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Erase all regex algorithm. More...
 
template<typename SequenceSequenceT , typename RangeT , typename CharT , typename RegexTraitsT >
SequenceSequenceT & find_all_regex (SequenceSequenceT &Result, const RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Find all regex algorithm. More...
 
template<typename SequenceSequenceT , typename RangeT , typename CharT , typename RegexTraitsT >
SequenceSequenceT & split_regex (SequenceSequenceT &Result, const RangeT &Input, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Split regex algorithm. More...
 
template<typename SequenceSequenceT , typename Range1T , typename CharT , typename RegexTraitsT >
range_value< SequenceSequenceT >
::type 
join_if (const SequenceSequenceT &Input, const Range1T &Separator, const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type Flags=match_default)
 Conditional join algorithm. More...
 
template<typename CharT , typename RegexTraitsT >
detail::find_regexF
< basic_regex< CharT,
RegexTraitsT > > 
regex_finder (const basic_regex< CharT, RegexTraitsT > &Rx, match_flag_type MatchFlags=match_default)
 "Regex" finder More...
 
template<typename CharT , typename TraitsT , typename AllocT >
detail::regex_formatF
< std::basic_string< CharT,
TraitsT, AllocT > > 
regex_formatter (const std::basic_string< CharT, TraitsT, AllocT > &Format, match_flag_type Flags=format_default)
 Regex formatter. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT replace_range_copy (OutputIteratorT Output, const Range1T &Input, const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< Range1T >::type > &SearchRange, const Range2T &Format)
 Replace range algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT replace_range_copy (const SequenceT &Input, const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< SequenceT >::type > &SearchRange, const RangeT &Format)
 Replace range algorithm. More...
 
template<typename SequenceT , typename RangeT >
void replace_range (SequenceT &Input, const iterator_range< BOOST_STRING_TYPENAME range_iterator< SequenceT >::type > &SearchRange, const RangeT &Format)
 Replace range algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT replace_first_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const Range3T &Format)
 Replace first algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT replace_first_copy (const SequenceT &Input, const Range1T &Search, const Range2T &Format)
 Replace first algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void replace_first (SequenceT &Input, const Range1T &Search, const Range2T &Format)
 Replace first algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT ireplace_first_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const Range3T &Format, const std::locale &Loc=std::locale())
 Replace first algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range2T , typename Range1T >
SequenceT ireplace_first_copy (const SequenceT &Input, const Range2T &Search, const Range1T &Format, const std::locale &Loc=std::locale())
 Replace first algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void ireplace_first (SequenceT &Input, const Range1T &Search, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace first algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT replace_last_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const Range3T &Format)
 Replace last algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT replace_last_copy (const SequenceT &Input, const Range1T &Search, const Range2T &Format)
 Replace last algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void replace_last (SequenceT &Input, const Range1T &Search, const Range2T &Format)
 Replace last algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT ireplace_last_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const Range3T &Format, const std::locale &Loc=std::locale())
 Replace last algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT ireplace_last_copy (const SequenceT &Input, const Range1T &Search, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace last algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void ireplace_last (SequenceT &Input, const Range1T &Search, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace last algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT replace_nth_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, int Nth, const Range3T &Format)
 Replace nth algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT replace_nth_copy (const SequenceT &Input, const Range1T &Search, int Nth, const Range2T &Format)
 Replace nth algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void replace_nth (SequenceT &Input, const Range1T &Search, int Nth, const Range2T &Format)
 Replace nth algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT ireplace_nth_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, int Nth, const Range3T &Format, const std::locale &Loc=std::locale())
 Replace nth algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT ireplace_nth_copy (const SequenceT &Input, const Range1T &Search, int Nth, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace nth algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void ireplace_nth (SequenceT &Input, const Range1T &Search, int Nth, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace nth algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT replace_all_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const Range3T &Format)
 Replace all algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT replace_all_copy (const SequenceT &Input, const Range1T &Search, const Range2T &Format)
 Replace all algorithm. More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void replace_all (SequenceT &Input, const Range1T &Search, const Range2T &Format)
 Replace all algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT ireplace_all_copy (OutputIteratorT Output, const Range1T &Input, const Range2T &Search, const Range3T &Format, const std::locale &Loc=std::locale())
 Replace all algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT ireplace_all_copy (const SequenceT &Input, const Range1T &Search, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace all algorithm ( case insensitive ) More...
 
template<typename SequenceT , typename Range1T , typename Range2T >
void ireplace_all (SequenceT &Input, const Range1T &Search, const Range2T &Format, const std::locale &Loc=std::locale())
 Replace all algorithm ( case insensitive ) More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT replace_head_copy (OutputIteratorT Output, const Range1T &Input, int N, const Range2T &Format)
 Replace head algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT replace_head_copy (const SequenceT &Input, int N, const RangeT &Format)
 Replace head algorithm. More...
 
template<typename SequenceT , typename RangeT >
void replace_head (SequenceT &Input, int N, const RangeT &Format)
 Replace head algorithm. More...
 
template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT replace_tail_copy (OutputIteratorT Output, const Range1T &Input, int N, const Range2T &Format)
 Replace tail algorithm. More...
 
template<typename SequenceT , typename RangeT >
SequenceT replace_tail_copy (const SequenceT &Input, int N, const RangeT &Format)
 Replace tail algorithm. More...
 
template<typename SequenceT , typename RangeT >
void replace_tail (SequenceT &Input, int N, const RangeT &Format)
 Replace tail algorithm. More...
 
template<typename SequenceSequenceT , typename Range1T , typename Range2T >
SequenceSequenceT & find_all (SequenceSequenceT &Result, Range1T &Input, const Range2T &Search)
 Find all algorithm. More...
 
template<typename SequenceSequenceT , typename Range1T , typename Range2T >
SequenceSequenceT & ifind_all (SequenceSequenceT &Result, Range1T &Input, const Range2T &Search, const std::locale &Loc=std::locale())
 Find all algorithm ( case insensitive ) More...
 
template<typename SequenceSequenceT , typename RangeT , typename PredicateT >
SequenceSequenceT & split (SequenceSequenceT &Result, RangeT &Input, PredicateT Pred, token_compress_mode_type eCompress=token_compress_off)
 Split algorithm. More...
 
template<typename OutputIteratorT , typename RangeT , typename PredicateT >
OutputIteratorT trim_left_copy_if (OutputIteratorT Output, const RangeT &Input, PredicateT IsSpace)
 Left trim - parametric. More...
 
template<typename SequenceT , typename PredicateT >
SequenceT trim_left_copy_if (const SequenceT &Input, PredicateT IsSpace)
 Left trim - parametric. More...
 
template<typename SequenceT >
SequenceT trim_left_copy (const SequenceT &Input, const std::locale &Loc=std::locale())
 Left trim - parametric. More...
 
template<typename SequenceT , typename PredicateT >
void trim_left_if (SequenceT &Input, PredicateT IsSpace)
 Left trim. More...
 
template<typename SequenceT >
void trim_left (SequenceT &Input, const std::locale &Loc=std::locale())
 Left trim. More...
 
template<typename OutputIteratorT , typename RangeT , typename PredicateT >
OutputIteratorT trim_right_copy_if (OutputIteratorT Output, const RangeT &Input, PredicateT IsSpace)
 Right trim - parametric. More...
 
template<typename SequenceT , typename PredicateT >
SequenceT trim_right_copy_if (const SequenceT &Input, PredicateT IsSpace)
 Right trim - parametric. More...
 
template<typename SequenceT >
SequenceT trim_right_copy (const SequenceT &Input, const std::locale &Loc=std::locale())
 Right trim. More...
 
template<typename SequenceT , typename PredicateT >
void trim_right_if (SequenceT &Input, PredicateT IsSpace)
 Right trim - parametric. More...
 
template<typename SequenceT >
void trim_right (SequenceT &Input, const std::locale &Loc=std::locale())
 Right trim. More...
 
template<typename OutputIteratorT , typename RangeT , typename PredicateT >
OutputIteratorT trim_copy_if (OutputIteratorT Output, const RangeT &Input, PredicateT IsSpace)
 Trim - parametric. More...
 
template<typename SequenceT , typename PredicateT >
SequenceT trim_copy_if (const SequenceT &Input, PredicateT IsSpace)
 Trim - parametric. More...
 
template<typename SequenceT >
SequenceT trim_copy (const SequenceT &Input, const std::locale &Loc=std::locale())
 Trim. More...
 
template<typename SequenceT , typename PredicateT >
void trim_if (SequenceT &Input, PredicateT IsSpace)
 Trim. More...
 
template<typename SequenceT >
void trim (SequenceT &Input, const std::locale &Loc=std::locale())
 Trim. More...
 
template<typename SequenceT , typename PredicateT >
SequenceT trim_all_copy_if (const SequenceT &Input, PredicateT IsSpace)
 Trim All - parametric. More...
 
template<typename SequenceT , typename PredicateT >
void trim_all_if (SequenceT &Input, PredicateT IsSpace)
 Trim All. More...
 
template<typename SequenceT >
SequenceT trim_all_copy (const SequenceT &Input, const std::locale &Loc=std::locale())
 Trim All. More...
 
template<typename SequenceT >
void trim_all (SequenceT &Input, const std::locale &Loc=std::locale())
 Trim All. More...
 
template<typename SequenceT , typename RangeT , typename PredicateT >
SequenceT trim_fill_copy_if (const SequenceT &Input, const RangeT &Fill, PredicateT IsSpace)
 Trim Fill - parametric. More...
 
template<typename SequenceT , typename RangeT , typename PredicateT >
void trim_fill_if (SequenceT &Input, const RangeT &Fill, PredicateT IsSpace)
 Trim Fill. More...
 
template<typename SequenceT , typename RangeT >
SequenceT trim_fill_copy (const SequenceT &Input, const RangeT &Fill, const std::locale &Loc=std::locale())
 Trim Fill. More...
 
template<typename SequenceT , typename RangeT >
void trim_fill (SequenceT &Input, const RangeT &Fill, const std::locale &Loc=std::locale())
 Trim Fill. More...
 

Typedef Documentation

typedef boost::error_info<struct bad_char_,char> boost::algorithm::bad_char

Enumeration Type Documentation

Token compression mode.

Specifies token compression mode for the token_finder.

Enumerator
token_compress_on 

Compress adjacent tokens.

token_compress_off 

Do not compress adjacent tokens.

Function Documentation

template<typename RangeT , typename PredicateT >
bool boost::algorithm::all ( const RangeT &  Input,
PredicateT  Pred 
)
inline

'All' predicate

This predicate holds it all its elements satisfy a given condition, represented by the predicate.

Parameters
InputAn input sequence
PredA predicate
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, BOOST_STRING_TYPENAME, and boost::asio::end.

template<typename InputIterator , typename Predicate >
boost::algorithm::all_of ( InputIterator  first,
InputIterator  last,
Predicate  p 
)
Returns
true if all elements in [first, last) satisfy the predicate 'p'
Note
returns true on an empty range
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pA predicate for testing the elements of the sequence
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, boost::last, and boost::multiprecision::backends::p.

Referenced by all_of().

template<typename Range , typename Predicate >
boost::algorithm::all_of ( const Range &  r,
Predicate  p 
)
Returns
true if all elements in the range satisfy the predicate 'p'
Note
returns true on an empty range
Parameters
rThe input range
pA predicate for testing the elements of the range

References all_of(), boost::asio::begin, and boost::end.

template<typename InputIterator , typename T >
boost::algorithm::all_of_equal ( InputIterator  first,
InputIterator  last,
const T val 
)
Returns
true if all elements in [first, last) are equal to 'val'
Note
returns true on an empty range
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
valA value to compare against

References boost::xpressive::first, and boost::last.

Referenced by all_of_equal().

template<typename Range , typename T >
boost::algorithm::all_of_equal ( const Range &  r,
const T val 
)
Returns
true if all elements in the range are equal to 'val'
Note
returns true on an empty range
Parameters
rThe input range
valA value to compare against

References all_of_equal(), boost::asio::begin, and boost::end.

template<typename InputIterator , typename Predicate >
boost::algorithm::any_of ( InputIterator  first,
InputIterator  last,
Predicate  p 
)
Returns
true if any of the elements in [first, last) satisfy the predicate
Note
returns false on an empty range
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pA predicate for testing the elements of the sequence

References boost::xpressive::first, boost::last, and boost::multiprecision::backends::p.

Referenced by any_of().

template<typename Range , typename Predicate >
boost::algorithm::any_of ( const Range &  r,
Predicate  p 
)
Returns
true if any elements in the range satisfy the predicate 'p'
Note
returns false on an empty range
Parameters
rThe input range
pA predicate for testing the elements of the range

References any_of(), boost::asio::begin, and boost::end.

template<typename InputIterator , typename V >
boost::algorithm::any_of_equal ( InputIterator  first,
InputIterator  last,
const V &  val 
)
Returns
true if any of the elements in [first, last) are equal to 'val'
Note
returns false on an empty range
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
valA value to compare against

References boost::xpressive::first, and boost::last.

Referenced by any_of_equal().

template<typename Range , typename V >
boost::algorithm::any_of_equal ( const Range &  r,
const V &  val 
)
Returns
true if any of the elements in the range are equal to 'val'
Note
returns false on an empty range
Parameters
rThe input range
valA value to compare against

References any_of_equal(), boost::asio::begin, and boost::end.

template<typename patIter , typename corpusIter >
boost::algorithm::boyer_moore_horspool_search ( corpusIter  corpus_first,
corpusIter  corpus_last,
patIter  pat_first,
patIter  pat_last 
)

Searches the corpus for the pattern.

Parameters
corpus_firstThe start of the data to search (Random Access Iterator)
corpus_lastOne past the end of the data to search
pat_firstThe start of the pattern to search for (Random Access Iterator)
pat_lastOne past the end of the data to search for
template<typename PatternRange , typename corpusIter >
corpusIter boost::algorithm::boyer_moore_horspool_search ( corpusIter  corpus_first,
corpusIter  corpus_last,
const PatternRange &  pattern 
)

References boost::asio::begin, and boost::end.

template<typename patIter , typename CorpusRange >
boost::lazy_disable_if_c< boost::is_same<CorpusRange, patIter>::value, typename boost::range_iterator<CorpusRange> >::type boost::algorithm::boyer_moore_horspool_search ( CorpusRange &  corpus,
patIter  pat_first,
patIter  pat_last 
)

References boost::asio::begin, and boost::end.

template<typename PatternRange , typename CorpusRange >
boost::range_iterator<CorpusRange>::type boost::algorithm::boyer_moore_horspool_search ( CorpusRange &  corpus,
const PatternRange &  pattern 
)

References boost::asio::begin, and boost::end.

template<typename patIter , typename corpusIter >
boost::algorithm::boyer_moore_search ( corpusIter  corpus_first,
corpusIter  corpus_last,
patIter  pat_first,
patIter  pat_last 
)

Searches the corpus for the pattern.

Parameters
corpus_firstThe start of the data to search (Random Access Iterator)
corpus_lastOne past the end of the data to search
pat_firstThe start of the pattern to search for (Random Access Iterator)
pat_lastOne past the end of the data to search for
template<typename PatternRange , typename corpusIter >
corpusIter boost::algorithm::boyer_moore_search ( corpusIter  corpus_first,
corpusIter  corpus_last,
const PatternRange &  pattern 
)

References boost::asio::begin, and boost::end.

template<typename patIter , typename CorpusRange >
boost::lazy_disable_if_c< boost::is_same<CorpusRange, patIter>::value, typename boost::range_iterator<CorpusRange> >::type boost::algorithm::boyer_moore_search ( CorpusRange &  corpus,
patIter  pat_first,
patIter  pat_last 
)

References boost::asio::begin, and boost::end.

template<typename PatternRange , typename CorpusRange >
boost::range_iterator<CorpusRange>::type boost::algorithm::boyer_moore_search ( CorpusRange &  corpus,
const PatternRange &  pattern 
)

References boost::asio::begin, and boost::end.

template<typename T , typename Pred >
boost::algorithm::clamp ( T const &  val,
typename boost::mpl::identity< T >::type const &  lo,
typename boost::mpl::identity< T >::type const &  hi,
Pred  p 
)
Returns
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.
Parameters
valThe value to be clamped
loThe lower bound of the range to be clamped to
hiThe upper bound of the range to be clamped to
pA predicate to use to compare the values. p ( a, b ) returns a boolean.

References boost::multiprecision::backends::p, and boost::phoenix::val().

Referenced by clamp(), and clamp_range().

template<typename T >
boost::algorithm::clamp ( const T val,
typename boost::mpl::identity< T >::type const &  lo,
typename boost::mpl::identity< T >::type const &  hi 
)
Returns
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.
Parameters
valThe value to be clamped
loThe lower bound of the range to be clamped to
hiThe upper bound of the range to be clamped to

References clamp(), and boost::phoenix::val().

template<typename InputIterator , typename OutputIterator >
OutputIterator boost::algorithm::clamp_range ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
typename std::iterator_traits< InputIterator >::value_type const &  lo,
typename std::iterator_traits< InputIterator >::value_type const &  hi 
)

References clamp(), and boost::out.

Referenced by clamp_range().

template<typename Range , typename OutputIterator >
boost::algorithm::clamp_range ( const Range &  r,
OutputIterator  out,
typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &  lo,
typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &  hi 
)
Returns
clamp the sequence of values [first, last) into [ lo, hi ]
Parameters
rThe range of values to be clamped
outAn output iterator to write the clamped values into
loThe lower bound of the range to be clamped to
hiThe upper bound of the range to be clamped to

References boost::asio::begin, clamp_range(), and boost::end.

template<typename InputIterator , typename OutputIterator , typename Pred >
OutputIterator boost::algorithm::clamp_range ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
typename std::iterator_traits< InputIterator >::value_type const &  lo,
typename std::iterator_traits< InputIterator >::value_type const &  hi,
Pred  p 
)

References clamp(), and boost::out.

template<typename Range , typename OutputIterator , typename Pred >
boost::algorithm::clamp_range ( const Range &  r,
OutputIterator  out,
typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &  lo,
typename std::iterator_traits< typename boost::range_iterator< const Range >::type >::value_type const &  hi,
Pred  p 
)
Returns
clamp the sequence of values [first, last) into [ lo, hi ] using the comparison predicate p.
Parameters
rThe range of values to be clamped
outAn output iterator to write the clamped values into
loThe lower bound of the range to be clamped to
hiThe upper bound of the range to be clamped to
pA predicate to use to compare the values. p ( a, b ) returns a boolean.

References boost::asio::begin, clamp_range(), and boost::end.

template<typename RangeT >
detail::const_formatF< iterator_range< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> > boost::algorithm::const_formatter ( const RangeT &  Format)
inline

Constant formatter.

Constructs a const_formatter. Const formatter always returns the same value, regardless of the parameter.

Parameters
FormatA predefined value used as a result for formatting
Returns
An instance of the const_formatter object.

References boost::as_literal(), and BOOST_STRING_TYPENAME.

Referenced by ireplace_all(), ireplace_all_copy(), ireplace_first(), ireplace_first_copy(), ireplace_last(), ireplace_last_copy(), ireplace_nth(), ireplace_nth_copy(), replace_all(), replace_all_copy(), replace_first(), replace_first_copy(), replace_head(), replace_head_copy(), replace_last(), replace_last_copy(), replace_nth(), replace_nth_copy(), replace_range(), replace_range_copy(), replace_tail(), replace_tail_copy(), trim_fill_copy_if(), and trim_fill_if().

template<typename Range1T , typename Range2T , typename PredicateT >
bool boost::algorithm::contains ( const Range1T &  Input,
const Range2T &  Test,
PredicateT  Comp 
)
inline

'Contains' predicate

This predicate holds when the test container is contained in the Input. When the optional predicate is specified, it is used for character-wise comparison.

Parameters
InputAn input sequence
TestA test sequence
CompAn element comparison predicate
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, boost::empty(), boost::asio::end, and first_finder().

Referenced by boost::date_time::period< point_rep, duration_rep >::intersects().

template<typename Range1T , typename Range2T >
bool boost::algorithm::contains ( const Range1T &  Input,
const Range2T &  Test 
)
inline

'Contains' predicate

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::serialization::is_equal().

Referenced by icontains().

template<typename InputIterator , typename OutputIterator , typename Predicate >
boost::algorithm::copy_if ( InputIterator  first,
InputIterator  last,
OutputIterator  result,
Predicate  p 
)

Copies all the elements from the input range that satisfy the predicate to the output range.

Returns
The updated output iterator
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
resultAn output iterator to write the results into
pA predicate for testing the elements of the range
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, boost::last, and boost::multiprecision::backends::p.

Referenced by copy_if().

template<typename Range , typename OutputIterator , typename Predicate >
boost::algorithm::copy_if ( const Range &  r,
OutputIterator  result,
Predicate  p 
)

Copies all the elements from the input range that satisfy the predicate to the output range.

Returns
The updated output iterator
Parameters
rThe input range
resultAn output iterator to write the results into
pA predicate for testing the elements of the range

References boost::asio::begin, copy_if(), and boost::end.

template<typename InputIterator , typename Size , typename OutputIterator >
boost::algorithm::copy_n ( InputIterator  first,
Size  n,
OutputIterator  result 
)

Copies exactly n (n > 0) elements from the range starting at first to the range starting at result.

Returns
The updated output iterator
Parameters
firstThe start of the input sequence
nThe number of elements to copy
resultAn output iterator to write the results into
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, and boost::n.

template<typename InputIterator , typename OutputIterator , typename Predicate >
boost::algorithm::copy_until ( InputIterator  first,
InputIterator  last,
OutputIterator  result,
Predicate  p 
)

Copies all the elements at the start of the input range that do not satisfy the predicate to the output range.

Returns
The updated output iterator
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
resultAn output iterator to write the results into
pA predicate for testing the elements of the range

References boost::xpressive::first, boost::xpressive::make_pair, and boost::multiprecision::backends::p.

Referenced by copy_until().

template<typename Range , typename OutputIterator , typename Predicate >
boost::algorithm::copy_until ( const Range &  r,
OutputIterator  result,
Predicate  p 
)

Copies all the elements at the start of the input range that do not satisfy the predicate to the output range.

Returns
The updated output iterator
Parameters
rThe input range
resultAn output iterator to write the results into
pA predicate for testing the elements of the range

References boost::asio::begin, copy_until(), and boost::end.

template<typename InputIterator , typename OutputIterator , typename Predicate >
boost::algorithm::copy_while ( InputIterator  first,
InputIterator  last,
OutputIterator  result,
Predicate  p 
)

Copies all the elements at the start of the input range that satisfy the predicate to the output range.

Returns
The updated input and output iterators
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
resultAn output iterator to write the results into
pA predicate for testing the elements of the range

References boost::xpressive::first, boost::xpressive::make_pair, and boost::multiprecision::backends::p.

Referenced by copy_while().

template<typename Range , typename OutputIterator , typename Predicate >
boost::algorithm::copy_while ( const Range &  r,
OutputIterator  result,
Predicate  p 
)

Copies all the elements at the start of the input range that satisfy the predicate to the output range.

Returns
The updated input and output iterators
Parameters
rThe input range
resultAn output iterator to write the results into
pA predicate for testing the elements of the range

References boost::asio::begin, copy_while(), and boost::end.

template<typename FinderT >
detail::dissect_formatF< FinderT > boost::algorithm::dissect_formatter ( const FinderT &  Finder)
inline

Empty formatter.

Constructs a dissect_formatter. Dissect formatter uses a specified finder to extract a portion of the formatted sequence. The first finder's match is returned as a result

Parameters
Findera finder used to select a portion of the formatted sequence
Returns
An instance of the dissect_formatter object.

Referenced by trim_all_copy_if(), and trim_all_if().

template<typename RangeT >
detail::empty_formatF< BOOST_STRING_TYPENAME range_value<RangeT>::type> boost::algorithm::empty_formatter ( const RangeT &  )
inline

Empty formatter.

Constructs an empty_formatter. Empty formatter always returns an empty sequence.

Parameters
Inputcontainer used to select a correct value_type for the resulting empty_container<>.
Returns
An instance of the empty_formatter object.

References BOOST_STRING_TYPENAME.

Referenced by erase_all(), erase_all_copy(), erase_all_regex(), erase_all_regex_copy(), erase_first(), erase_first_copy(), erase_head(), erase_head_copy(), erase_last(), erase_last_copy(), erase_nth(), erase_nth_copy(), erase_range(), erase_range_copy(), erase_regex(), erase_regex_copy(), erase_tail(), erase_tail_copy(), ierase_all(), ierase_all_copy(), ierase_first(), ierase_first_copy(), ierase_last(), ierase_last_copy(), ierase_nth(), and ierase_nth_copy().

template<typename Range1T , typename Range2T , typename PredicateT >
bool boost::algorithm::ends_with ( const Range1T &  Input,
const Range2T &  Test,
PredicateT  Comp 
)
inline

'Ends with' predicate

This predicate holds when the test string is a suffix of the Input. In other words, if the input ends with the test. When the optional predicate is specified, it is used for character-wise comparison.

Parameters
InputAn input sequence
TestA test sequence
CompAn element comparison predicate
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, BOOST_STRING_TYPENAME, and boost::end.

template<typename Range1T , typename Range2T >
bool boost::algorithm::ends_with ( const Range1T &  Input,
const Range2T &  Test 
)
inline

'Ends with' predicate

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::serialization::is_equal().

Referenced by iends_with().

template<class InputIterator1 , class InputIterator2 , class BinaryPredicate >
boost::algorithm::equal ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2,
BinaryPredicate  pred 
)
Returns
true if all elements in the two ranges are equal
Parameters
first1The start of the first range.
last1One past the end of the first range.
first2The start of the second range.
last2One past the end of the second range.
predA predicate for comparing the elements of the ranges

References boost::algorithm::detail::equal().

template<class InputIterator1 , class InputIterator2 >
boost::algorithm::equal ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2 
)
Returns
true if all elements in the two ranges are equal
Parameters
first1The start of the first range.
last1One past the end of the first range.
first2The start of the second range.
last2One past the end of the second range.

References boost::algorithm::detail::equal().

template<typename Range1T , typename Range2T , typename PredicateT >
bool boost::algorithm::equals ( const Range1T &  Input,
const Range2T &  Test,
PredicateT  Comp 
)
inline

'Equals' predicate

This predicate holds when the test container is equal to the input container i.e. all elements in both containers are same. When the optional predicate is specified, it is used for character-wise comparison.

Parameters
InputAn input sequence
TestA test sequence
CompAn element comparison predicate
Returns
The result of the test
Note
This is a two-way version of std::equal algorithm
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, BOOST_STRING_TYPENAME, boost::asio::end, and boost::it.

Referenced by boost::spirit::lex::lexertl::detail::get_state_id().

template<typename Range1T , typename Range2T >
bool boost::algorithm::equals ( const Range1T &  Input,
const Range2T &  Test 
)
inline

'Equals' predicate

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::serialization::is_equal().

Referenced by iequals().

template<typename SequenceT , typename RangeT >
void boost::algorithm::erase_all ( SequenceT &  Input,
const RangeT &  Search 
)
inline

Erase all algorithm.

Remove all the occurrences of the string from the input. The input sequence is modified in-place.

Parameters
InputAn input string
SearchA substring to be searched for.

References empty_formatter(), find_format_all(), and first_finder().

Referenced by boost::date_time::time_facet< time_type, CharT, OutItrT >::put().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::erase_all_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input sequence
SearchA substring to be searched for.
Returns
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

References empty_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::erase_all_copy ( const SequenceT &  Input,
const RangeT &  Search 
)
inline

Erase all algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename CharT , typename RegexTraitsT >
void boost::algorithm::erase_all_regex ( SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Erase all regex algorithm.

Erase all substrings, matching given regex, from the input. The input string is modified in-place.

Parameters
InputAn input string
RxA regular expression
FlagsRegex options

References empty_formatter(), find_format_all(), and regex_finder().

template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT >
OutputIteratorT boost::algorithm::erase_all_regex_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Erase all regex algorithm.

Erase all substrings, matching given regex, from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
RxA regular expression
FlagsRegex options
Returns
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

References empty_formatter(), find_format_all_copy(), and regex_finder().

template<typename SequenceT , typename CharT , typename RegexTraitsT >
SequenceT boost::algorithm::erase_all_regex_copy ( const SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Erase all regex algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_all_copy(), and regex_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::erase_first ( SequenceT &  Input,
const RangeT &  Search 
)
inline

Erase first algorithm.

Remove the first occurrence of the substring from the input. The input sequence is modified in-place.

Parameters
InputAn input string
SearchA substring to be searched for.

References empty_formatter(), find_format(), and first_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::erase_first_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
Returns
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

References empty_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::erase_first_copy ( const SequenceT &  Input,
const RangeT &  Search 
)
inline

Erase first algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT >
void boost::algorithm::erase_head ( SequenceT &  Input,
int  N 
)
inline

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.

Parameters
InputAn input string
NLength of the head For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.

References empty_formatter(), find_format(), and head_finder().

template<typename OutputIteratorT , typename RangeT >
OutputIteratorT boost::algorithm::erase_head_copy ( OutputIteratorT  Output,
const RangeT &  Input,
int  N 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
NLength of the head. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
Returns
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

References empty_formatter(), find_format_copy(), and head_finder().

template<typename SequenceT >
SequenceT boost::algorithm::erase_head_copy ( const SequenceT &  Input,
int  N 
)
inline

Erase head algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and head_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::erase_last ( SequenceT &  Input,
const RangeT &  Search 
)
inline

Erase last algorithm.

Remove the last occurrence of the substring from the input. The input sequence is modified in-place.

Parameters
InputAn input string
SearchA substring to be searched for

References empty_formatter(), find_format(), and last_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::erase_last_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for.
Returns
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

References empty_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::erase_last_copy ( const SequenceT &  Input,
const RangeT &  Search 
)
inline

Erase last algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::erase_nth ( SequenceT &  Input,
const RangeT &  Search,
int  Nth 
)
inline

Erase nth algorithm.

Remove the Nth occurrence of the substring in the input. The input sequence is modified in-place.

Parameters
InputAn input string
SearchA substring to be searched for.
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.

References empty_formatter(), find_format(), and nth_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::erase_nth_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
int  Nth 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
Returns
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

References empty_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::erase_nth_copy ( const SequenceT &  Input,
const RangeT &  Search,
int  Nth 
)
inline

Erase nth algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceT >
void boost::algorithm::erase_range ( SequenceT &  Input,
const iterator_range< BOOST_STRING_TYPENAME range_iterator< SequenceT >::type > &  SearchRange 
)
inline

Erase range algorithm.

Remove the given range from the input. The input sequence is modified in-place.

Parameters
InputAn input sequence
SearchRangeA range in the input to be removed

References empty_formatter(), find_format(), and range_finder().

Referenced by boost::container::list< T, Allocator >::erase().

template<typename OutputIteratorT , typename RangeT >
OutputIteratorT boost::algorithm::erase_range_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< RangeT >::type > &  SearchRange 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input sequence
SearchRangeA range in the input to be removed
Returns
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

References empty_formatter(), find_format_copy(), and range_finder().

template<typename SequenceT >
SequenceT boost::algorithm::erase_range_copy ( const SequenceT &  Input,
const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< SequenceT >::type > &  SearchRange 
)
inline

Erase range algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and range_finder().

template<typename SequenceT , typename CharT , typename RegexTraitsT >
void boost::algorithm::erase_regex ( SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Erase regex algorithm.

Remove a substring matching given regex from the input. The input string is modified in-place.

Parameters
InputAn input string
RxA regular expression
FlagsRegex options

References empty_formatter(), find_format(), and regex_finder().

template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT >
OutputIteratorT boost::algorithm::erase_regex_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Erase regex algorithm.

Remove a substring matching given regex from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
RxA regular expression
FlagsRegex options
Returns
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

References empty_formatter(), find_format_copy(), and regex_finder().

template<typename SequenceT , typename CharT , typename RegexTraitsT >
SequenceT boost::algorithm::erase_regex_copy ( const SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Erase regex algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and regex_finder().

template<typename SequenceT >
void boost::algorithm::erase_tail ( SequenceT &  Input,
int  N 
)
inline

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.

Parameters
InputAn input string
NLength of the tail For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.

References empty_formatter(), find_format(), and tail_finder().

template<typename OutputIteratorT , typename RangeT >
OutputIteratorT boost::algorithm::erase_tail_copy ( OutputIteratorT  Output,
const RangeT &  Input,
int  N 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
NLength of the tail. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
Returns
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

References empty_formatter(), find_format_copy(), and tail_finder().

template<typename SequenceT >
SequenceT boost::algorithm::erase_tail_copy ( const SequenceT &  Input,
int  N 
)
inline

Erase tail algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and tail_finder().

template<typename RangeT , typename FinderT >
iterator_range< BOOST_STRING_TYPENAME range_iterator<RangeT>::type> boost::algorithm::find ( RangeT &  Input,
const FinderT &  Finder 
)
inline

Generic find algorithm.

Search the input using the given finder.

Parameters
InputA string which will be searched.
FinderFinder object used for searching.
Returns
An iterator_range delimiting the match. Returned iterator is either RangeT::iterator or RangeT::const_iterator, depending on the constness of the input parameter.

References boost::as_literal(), boost::asio::begin, and boost::end.

Referenced by boost::container::map< const sync_id *, umap_type::iterator, address_less >::at(), boost::hawick_circuits_detail::contains(), boost::python::vector_indexing_suite< Container, NoProxy, final_vector_derived_policies< Container, NoProxy > >::contains(), boost::intrusive::bs_set_impl< ValueTraits, Compare, SizeType, ConstantTimeSize, HeaderHolder >::count(), boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::count(), boost::intrusive::splay_set_impl< ValueTraits, Compare, SizeType, ConstantTimeSize, HeaderHolder >::count(), boost::intrusive::set_impl< ValueTraits, Compare, SizeType, ConstantTimeSize, HeaderHolder >::count(), boost::intrusive::avl_set_impl< ValueTraits, Compare, SizeType, ConstantTimeSize, HeaderHolder >::count(), boost::intrusive::treap_set_impl< ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize, HeaderHolder >::count(), boost::attribute_set::count(), boost::container::set< Key, Compare, Allocator, SetOptions >::count(), boost::container::flat_set< Key, Compare, Allocator >::count(), boost::container::map< const sync_id *, umap_type::iterator, address_less >::count(), boost::graph::parallel::detail::do_brandes_sssp(), boost::graph::distributed::hohberg_vertex_processor< Graph >::echo_phase(), boost::multi_index::detail::hashed_index< KeyFromValue, Hash, Pred, SuperMeta, TagList, Category >::equals(), boost::numeric::ublas::generalized_vector_of_vector< T, L, A >::erase_element(), boost::numeric::ublas::mapped_vector_of_mapped_vector< T, L, A >::erase_element(), boost::phoenix::impl::find::execute(), boost::spirit::qi::tst_map< Char, T >::find(), boost::spirit::x3::tst_map< Char, T >::find(), boost::spirit::x3::tst< Char, T >::find(), boost::spirit::qi::tst< Char, T >::find(), boost::interprocess::iset_index< MapConfig >::find(), boost::interprocess::iunordered_set_index< MapConfig >::find(), boost::intrusive::splaytree_algorithms< NodeTraits >::find(), boost::attribute_set::find(), boost::wave::util::flex_string< E, T, A, Storage >::find(), boost::numeric::ublas::generalized_vector_of_vector< T, L, A >::find1(), boost::numeric::ublas::generalized_vector_of_vector< T, L, A >::find2(), boost::numeric::ublas::mapped_matrix< T, L, A >::find_element(), boost::numeric::ublas::mapped_vector_of_mapped_vector< T, L, A >::find_element(), boost::unit_test::find_first_not_of(), boost::wave::util::flex_string< E, T, A, Storage >::find_first_not_of(), boost::wave::util::flex_string< E, T, A, Storage >::find_first_of(), boost::unit_test::find_last_not_of(), boost::wave::util::flex_string< E, T, A, Storage >::find_last_not_of(), boost::unit_test::find_last_of(), boost::wave::util::flex_string< E, T, A, Storage >::find_last_of(), boost::graph::distributed::fleischer_hendrickson_pinar_strong_components(), boost::serialization::extended_type_info_no_rtti< T >::get_derived_extended_type_info(), boost::in_edge_set(), boost::in_vertex_set(), boost::bimaps::views::map_view< Tag, BimapType >::info_at(), boost::bimaps::views::unordered_map_view< Tag, BimapType >::info_at(), boost::BOOST_RT_PARAM_NAMESPACE::interpret_argument_value(), boost::is_adj_dispatch(), boost::msm::back::is_exit_state_active(), boost::detail::is_path_closed(), boost::detail::is_vertex_in_path(), boost::loop_erased_random_walk(), boost::detail::maximal_fan(), boost::BOOST_RT_PARAM_NAMESPACE::cla::argv_traverser::next_token(), boost::graph::distributed::hohberg_vertex_processor< Graph >::num_starting_bicomponents(), boost::graph::distributed::number_components(), boost::graph::distributed::number_components_from_parents(), one_of_equal(), append_reducer< T >::operator()(), boost::lambda::ll::find::operator()(), boost::graph::distributed::hohberg_vertex_processor< Graph >::operator()(), boost::numeric::ublas::mapped_matrix< T, L, A >::operator()(), boost::numeric::ublas::mapped_vector_of_mapped_vector< T, L, A >::operator()(), boost::msm::front::euml::StringFind_< Container, Param1, Param2, Param3 >::operator()(), boost::uuids::operator>>(), boost::attribute_set::operator[](), boost::property_tree::string_path< String, Translator >::reduce(), boost::xpressive::detail::regex_search_impl(), boost::BOOST_RT_PARAM_NAMESPACE::cla::argv_traverser::remainder(), boost::BOOST_RT_PARAM_NAMESPACE::cla::argv_traverser::rollback(), boost::graph::parallel::detail::betweenness_centrality_delta_stepping_impl< Graph, DistanceMap, IncomingMap, EdgeWeightMap, PathCountMap >::run(), boost::range_detail::search_n_impl(), boost::property_tree::string_path< String, Translator >::single(), boost::graph::distributed::hohberg_vertex_processor< Graph >::start_naming_phase(), boost::cpp_regex_traits< charT >::toi(), boost::re_detail::cpp_regex_traits_implementation< charT >::transform(), boost::BOOST_RT_PARAM_NAMESPACE::cla::argv_traverser::trim(), boost::unit_test::basic_cstring< CharT >::trim_left(), boost::unit_test::basic_cstring< CharT >::trim_right(), boost::type_erasure::typeid_of(), boost::graph::distributed::detail::unmarshal_set(), and boost::iostreams::basic_line_filter< Ch, Alloc >::write().

template<typename SequenceSequenceT , typename Range1T , typename Range2T >
SequenceSequenceT& boost::algorithm::find_all ( SequenceSequenceT &  Result,
Range1T &  Input,
const Range2T &  Search 
)
inline

Find all algorithm.

This algorithm finds all occurrences of the search string in the input.

Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are std::vector<std::string> or std::list<boost::iterator_range<std::string::iterator>>

Parameters
ResultA container that can hold copies of references to the substrings
InputA container which will be searched.
SearchA substring to be searched for.
Returns
A reference the result
Note
Prior content of the result will be overwritten.
This function provides the strong exception-safety guarantee

References first_finder(), and iter_find().

template<typename SequenceSequenceT , typename RangeT , typename CharT , typename RegexTraitsT >
SequenceSequenceT& boost::algorithm::find_all_regex ( SequenceSequenceT &  Result,
const RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Find all regex algorithm.

This algorithm finds all substrings matching the give regex in the input.

Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are std::vector<std::string> or std::list<boost::iterator_range<std::string::iterator>>

Parameters
ResultA container that can hold copies of references to the substrings.
InputA container which will be searched.
RxA regular expression
FlagsRegex options
Returns
A reference to the result
Note
Prior content of the result will be overwritten.
This function provides the strong exception-safety guarantee

References iter_find(), and regex_finder().

template<typename Range1T , typename Range2T >
iterator_range< BOOST_STRING_TYPENAME range_iterator<Range1T>::type> boost::algorithm::find_first ( Range1T &  Input,
const Range2T &  Search 
)
inline

Find first algorithm.

Search for the first occurrence of the substring in the input.

Parameters
InputA string which will be searched.
SearchA substring to be searched for.
Returns
An iterator_range delimiting the match. Returned iterator is either RangeT::iterator or RangeT::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and first_finder().

template<typename SequenceT , typename FinderT , typename FormatterT >
void boost::algorithm::find_format ( SequenceT &  Input,
FinderT  Finder,
FormatterT  Formatter 
)
inline

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.

Parameters
InputAn input sequence
FinderA Finder object used to search for a match to be replaced
FormatterA Formatter object used to format a match

References boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, and boost::end.

Referenced by erase_first(), erase_head(), erase_last(), erase_nth(), erase_range(), erase_regex(), erase_tail(), ierase_first(), ierase_last(), ierase_nth(), ireplace_first(), ireplace_last(), ireplace_nth(), replace_first(), replace_head(), replace_last(), replace_nth(), replace_range(), replace_regex(), and replace_tail().

template<typename SequenceT , typename FinderT , typename FormatterT >
void boost::algorithm::find_format_all ( SequenceT &  Input,
FinderT  Finder,
FormatterT  Formatter 
)
inline

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.

Parameters
InputAn input sequence
FinderA Finder object used to search for a match to be replaced
FormatterA Formatter object used to format a match

References boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, and boost::end.

Referenced by erase_all(), erase_all_regex(), ierase_all(), ireplace_all(), replace_all(), replace_all_regex(), trim_all_if(), and trim_fill_if().

template<typename OutputIteratorT , typename RangeT , typename FinderT , typename FormatterT >
OutputIteratorT boost::algorithm::find_format_all_copy ( OutputIteratorT  Output,
const RangeT &  Input,
FinderT  Finder,
FormatterT  Formatter 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input sequence
FinderA Finder object used to search for a match to be replaced
FormatterA Formatter object used to format a match
Returns
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

References boost::as_literal(), boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, and boost::end.

Referenced by erase_all_copy(), erase_all_regex_copy(), ierase_all_copy(), ireplace_all_copy(), replace_all_copy(), replace_all_regex_copy(), trim_all_copy_if(), and trim_fill_copy_if().

template<typename SequenceT , typename FinderT , typename FormatterT >
SequenceT boost::algorithm::find_format_all_copy ( const SequenceT &  Input,
FinderT  Finder,
FormatterT  Formatter 
)
inline

Generic replace all algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, and boost::end.

template<typename OutputIteratorT , typename RangeT , typename FinderT , typename FormatterT >
OutputIteratorT boost::algorithm::find_format_copy ( OutputIteratorT  Output,
const RangeT &  Input,
FinderT  Finder,
FormatterT  Formatter 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input sequence
FinderA Finder object used to search for a match to be replaced
FormatterA Formatter object used to format a match
Returns
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

References boost::as_literal(), boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, and boost::end.

Referenced by erase_first_copy(), erase_head_copy(), erase_last_copy(), erase_nth_copy(), erase_range_copy(), erase_regex_copy(), erase_tail_copy(), ierase_first_copy(), ierase_last_copy(), ierase_nth_copy(), ireplace_first_copy(), ireplace_last_copy(), ireplace_nth_copy(), replace_first_copy(), replace_head_copy(), replace_last_copy(), replace_nth_copy(), replace_range_copy(), replace_regex_copy(), and replace_tail_copy().

template<typename SequenceT , typename FinderT , typename FormatterT >
SequenceT boost::algorithm::find_format_copy ( const SequenceT &  Input,
FinderT  Finder,
FormatterT  Formatter 
)
inline

Generic replace algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, and boost::end.

template<typename RangeT >
iterator_range< BOOST_STRING_TYPENAME range_iterator<RangeT>::type> boost::algorithm::find_head ( RangeT &  Input,
int  N 
)
inline

Find head algorithm.

Get the head of the input. Head is a prefix of the string of the given size. If the input is shorter then required, whole input is considered to be the head.

Parameters
InputAn input string
NLength of the head For N>=0, at most N characters are extracted. For N<0, at most size(Input)-|N| characters are extracted.
Returns
An iterator_range delimiting the match. Returned iterator is either Range1T::iterator or Range1T::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and head_finder().

template<typename InputIterator , typename Predicate >
boost::algorithm::find_if_not ( InputIterator  first,
InputIterator  last,
Predicate  p 
)

Finds the first element in the sequence that does not satisfy the predicate.

Returns
The iterator pointing to the desired element.
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pA predicate for testing the elements of the range
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, boost::last, and boost::multiprecision::backends::p.

Referenced by find_if_not().

template<typename Range , typename Predicate >
boost::algorithm::find_if_not ( const Range &  r,
Predicate  p 
)

Finds the first element in the sequence that does not satisfy the predicate.

Returns
The iterator pointing to the desired element.
Parameters
rThe input range
pA predicate for testing the elements of the range

References boost::asio::begin, boost::end, and find_if_not().

template<typename Range1T , typename Range2T >
iterator_range< BOOST_STRING_TYPENAME range_iterator<Range1T>::type> boost::algorithm::find_last ( Range1T &  Input,
const Range2T &  Search 
)
inline

Find last algorithm.

Search for the last occurrence of the substring in the input.

Parameters
InputA string which will be searched.
SearchA substring to be searched for.
Returns
An iterator_range delimiting the match. Returned iterator is either Range1T::iterator or Range1T::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and last_finder().

template<typename Range1T , typename Range2T >
iterator_range< BOOST_STRING_TYPENAME range_iterator<Range1T>::type> boost::algorithm::find_nth ( Range1T &  Input,
const Range2T &  Search,
int  Nth 
)
inline

Find n-th algorithm.

Search for the n-th (zero-indexed) occurrence of the substring in the input.

Parameters
InputA string which will be searched.
SearchA substring to be searched for.
NthAn index (zero-indexed) of the match to be found. For negative N, the matches are counted from the end of string.
Returns
An iterator_range delimiting the match. Returned iterator is either Range1T::iterator or Range1T::const_iterator, depending on the constness of the input parameter.

References boost::range::find(), and nth_finder().

template<typename RangeT , typename CharT , typename RegexTraitsT >
iterator_range< BOOST_STRING_TYPENAME range_iterator<RangeT>::type > boost::algorithm::find_regex ( RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Find regex algorithm.

Search for a substring matching the given regex in the input.

Parameters
InputA container which will be searched.
RxA regular expression
FlagsRegex options
Returns
An iterator_range delimiting the match. Returned iterator is either RangeT::iterator or RangeT::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, boost::asio::end, and regex_finder().

template<typename RangeT >
iterator_range< BOOST_STRING_TYPENAME range_iterator<RangeT>::type> boost::algorithm::find_tail ( RangeT &  Input,
int  N 
)
inline

Find tail algorithm.

Get the tail of the input. Tail is a suffix of the string of the given size. If the input is shorter then required, whole input is considered to be the tail.

Parameters
InputAn input string
NLength of the tail. For N>=0, at most N characters are extracted. For N<0, at most size(Input)-|N| characters are extracted.
Returns
An iterator_range delimiting the match. Returned iterator is either RangeT::iterator or RangeT::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and tail_finder().

template<typename RangeT , typename PredicateT >
iterator_range< BOOST_STRING_TYPENAME range_iterator<RangeT>::type> boost::algorithm::find_token ( RangeT &  Input,
PredicateT  Pred,
token_compress_mode_type  eCompress = token_compress_off 
)
inline

Find token algorithm.

Look for a given token in the string. Token is a character that matches the given predicate. If the "token compress mode" is enabled, adjacent tokens are considered to be one match.

Parameters
InputA input string.
PredA unary predicate to identify a token
eCompressEnable/Disable compressing of adjacent tokens
Returns
An iterator_range delimiting the match. Returned iterator is either RangeT::iterator or RangeT::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and token_finder().

template<typename RangeT >
detail::first_finderF< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, is_equal> boost::algorithm::first_finder ( const RangeT &  Search)
inline

"First" finder

Construct the first_finder. The finder searches for the first occurrence of the string in a given input. The result is given as an iterator_range delimiting the match.

Parameters
SearchA substring to be searched for.
CompAn element comparison predicate
Returns
An instance of the first_finder object

References boost::as_literal(), BOOST_STRING_TYPENAME, and boost::serialization::is_equal().

Referenced by contains(), erase_all(), erase_all_copy(), erase_first(), erase_first_copy(), find_all(), find_first(), ierase_all(), ierase_all_copy(), ierase_first(), ierase_first_copy(), ifind_all(), ifind_first(), ireplace_all(), ireplace_all_copy(), ireplace_first(), ireplace_first_copy(), replace_all(), replace_all_copy(), replace_first(), and replace_first_copy().

template<typename RangeT , typename PredicateT >
detail::first_finderF< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, PredicateT> boost::algorithm::first_finder ( const RangeT &  Search,
PredicateT  Comp 
)
inline

"First" finder

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::as_literal(), and BOOST_STRING_TYPENAME.

detail::head_finderF boost::algorithm::head_finder ( int  N)
inline

"Head" finder

Construct the 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 iterator_range delimiting the match.

Parameters
NThe size of the head
Returns
An instance of the head_finder object

Referenced by erase_head(), erase_head_copy(), find_head(), replace_head(), replace_head_copy(), trim_all_copy_if(), and trim_all_if().

template<typename InputIterator , typename OutputIterator >
boost::algorithm::hex ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)

Converts a sequence of integral types into a hexadecimal sequence of characters.

Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
outAn output iterator to the results into
Returns
The updated output iterator
Note
Based on the MySQL function of the same name

References boost::xpressive::first, boost::last, and boost::out.

Referenced by hex().

template<typename T , typename OutputIterator >
boost::algorithm::hex ( const T ptr,
OutputIterator  out 
)

Converts a sequence of integral types into a hexadecimal sequence of characters.

Parameters
ptrA pointer to a 0-terminated sequence of data.
outAn output iterator to the results into
Returns
The updated output iterator
Note
Based on the MySQL function of the same name

References boost::out.

template<typename Range , typename OutputIterator >
boost::algorithm::hex ( const Range &  r,
OutputIterator  out 
)

Converts a sequence of integral types into a hexadecimal sequence of characters.

Parameters
rThe input range
outAn output iterator to the results into
Returns
The updated output iterator
Note
Based on the MySQL function of the same name

References boost::asio::begin, boost::end, and hex().

template<typename String >
String boost::algorithm::hex ( const String &  input)

Converts a sequence of integral types into a hexadecimal sequence of characters.

Parameters
inputA container to be converted
Returns
A container with the encoded text

References hex(), and boost::detail::void.

template<typename Range1T , typename Range2T >
bool boost::algorithm::icontains ( const Range1T &  Input,
const Range2T &  Test,
const std::locale &  Loc = std::locale() 
)
inline

'Contains' predicate ( case insensitive )

This predicate holds when the test container is contained in the Input. Elements are compared case insensitively.

Parameters
InputAn input sequence
TestA test sequence
LocA locale used for case insensitive comparison
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References contains().

template<typename RangeT >
detail::identity_formatF< iterator_range< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> > boost::algorithm::identity_formatter ( )
inline

Identity formatter.

Constructs an identity_formatter. Identity formatter always returns the parameter.

Returns
An instance of the identity_formatter object.

References BOOST_STRING_TYPENAME.

template<typename Range1T , typename Range2T >
bool boost::algorithm::iends_with ( const Range1T &  Input,
const Range2T &  Test,
const std::locale &  Loc = std::locale() 
)
inline

'Ends with' predicate ( case insensitive )

This predicate holds when the test container is a suffix of the Input. In other words, if the input ends with the test. Elements are compared case insensitively.

Parameters
InputAn input sequence
TestA test sequence
LocA locale used for case insensitive comparison
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References ends_with().

template<typename Range1T , typename Range2T >
bool boost::algorithm::iequals ( const Range1T &  Input,
const Range2T &  Test,
const std::locale &  Loc = std::locale() 
)
inline

'Equals' predicate ( case insensitive )

This predicate holds when the test container is equal to the input container i.e. all elements in both containers are same. Elements are compared case insensitively.

Parameters
InputAn input sequence
TestA test sequence
LocA locale used for case insensitive comparison
Returns
The result of the test
Note
This is a two-way version of std::equal algorithm
This function provides the strong exception-safety guarantee

References equals().

Referenced by boost::geometry::detail::wkt::box_parser< Box >::apply(), boost::geometry::detail::wkt::segment_parser< Segment >::apply(), boost::geometry::detail::wkt::initialize(), and boost::geometry::detail::wkt::one_of().

template<typename SequenceT , typename RangeT >
void boost::algorithm::ierase_all ( SequenceT &  Input,
const RangeT &  Search,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for.
LocA locale used for case insensitive comparison

References empty_formatter(), find_format_all(), and first_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::ierase_all_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
LocA locale used for case insensitive comparison
Returns
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

References empty_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::ierase_all_copy ( const SequenceT &  Input,
const RangeT &  Search,
const std::locale &  Loc = std::locale() 
)
inline

Erase all algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::ierase_first ( SequenceT &  Input,
const RangeT &  Search,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
LocA locale used for case insensitive comparison

References empty_formatter(), find_format(), and first_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::ierase_first_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
LocA locale used for case insensitive comparison
Returns
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

References empty_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::ierase_first_copy ( const SequenceT &  Input,
const RangeT &  Search,
const std::locale &  Loc = std::locale() 
)
inline

Erase first algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::ierase_last ( SequenceT &  Input,
const RangeT &  Search,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
LocA locale used for case insensitive comparison

References empty_formatter(), find_format(), and last_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::ierase_last_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
LocA locale used for case insensitive comparison
Returns
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

References empty_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::ierase_last_copy ( const SequenceT &  Input,
const RangeT &  Search,
const std::locale &  Loc = std::locale() 
)
inline

Erase last algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::ierase_nth ( SequenceT &  Input,
const RangeT &  Search,
int  Nth,
const std::locale &  Loc = std::locale() 
)
inline

Erase nth algorithm.

Remove the Nth occurrence of the substring in the input. The input sequence is modified in-place. Searching is case insensitive.

Parameters
InputAn input string
SearchA substring to be searched for.
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
LocA locale used for case insensitive comparison

References empty_formatter(), find_format(), and nth_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::ierase_nth_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
int  Nth,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for.
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
LocA locale used for case insensitive comparison
Returns
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

References empty_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::ierase_nth_copy ( const SequenceT &  Input,
const RangeT &  Search,
int  Nth,
const std::locale &  Loc = std::locale() 
)
inline

Erase nth algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References empty_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceSequenceT , typename Range1T , typename Range2T >
SequenceSequenceT& boost::algorithm::ifind_all ( SequenceSequenceT &  Result,
Range1T &  Input,
const Range2T &  Search,
const std::locale &  Loc = std::locale() 
)
inline

Find all algorithm ( case insensitive )

This algorithm finds all occurrences of the search string in the input. Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are std::vector<std::string> or std::list<boost::iterator_range<std::string::iterator>>

Searching is case insensitive.

Parameters
ResultA container that can hold copies of references to the substrings
InputA container which will be searched.
SearchA substring to be searched for.
LocA locale used for case insensitive comparison
Returns
A reference the result
Note
Prior content of the result will be overwritten.
This function provides the strong exception-safety guarantee

References first_finder(), and iter_find().

template<typename Range1T , typename Range2T >
iterator_range< BOOST_STRING_TYPENAME range_iterator<Range1T>::type> boost::algorithm::ifind_first ( Range1T &  Input,
const Range2T &  Search,
const std::locale &  Loc = std::locale() 
)
inline

Find first algorithm ( case insensitive )

Search for the first occurrence of the substring in the input. Searching is case insensitive.

Parameters
InputA string which will be searched.
SearchA substring to be searched for.
LocA locale used for case insensitive comparison
Returns
An iterator_range delimiting the match. Returned iterator is either Range1T::iterator or Range1T::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and first_finder().

template<typename Range1T , typename Range2T >
iterator_range< BOOST_STRING_TYPENAME range_iterator<Range1T>::type> boost::algorithm::ifind_last ( Range1T &  Input,
const Range2T &  Search,
const std::locale &  Loc = std::locale() 
)
inline

Find last algorithm ( case insensitive )

Search for the last match a string in the input. Searching is case insensitive.

Parameters
InputA string which will be searched.
SearchA substring to be searched for.
LocA locale used for case insensitive comparison
Returns
An iterator_range delimiting the match. Returned iterator is either Range1T::iterator or Range1T::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and last_finder().

template<typename Range1T , typename Range2T >
iterator_range< BOOST_STRING_TYPENAME range_iterator<Range1T>::type> boost::algorithm::ifind_nth ( Range1T &  Input,
const Range2T &  Search,
int  Nth,
const std::locale &  Loc = std::locale() 
)
inline

Find n-th algorithm ( case insensitive ).

Search for the n-th (zero-indexed) occurrence of the substring in the input. Searching is case insensitive.

Parameters
InputA string which will be searched.
SearchA substring to be searched for.
NthAn index (zero-indexed) of the match to be found. For negative N, the matches are counted from the end of string.
LocA locale used for case insensitive comparison
Returns
An iterator_range delimiting the match. Returned iterator is either Range1T::iterator or Range1T::const_iterator, depending on the constness of the input parameter.
Note
This function provides the strong exception-safety guarantee

References boost::range::find(), and nth_finder().

template<typename Range1T , typename Range2T >
bool boost::algorithm::ilexicographical_compare ( const Range1T &  Arg1,
const Range2T &  Arg2,
const std::locale &  Loc = std::locale() 
)
inline

Lexicographical compare predicate (case-insensitive)

This predicate is an overload of std::lexicographical_compare for range arguments. It check whether the first argument is lexicographically less then the second one. Elements are compared case insensitively

Parameters
Arg1First argument
Arg2Second argument
LocA locale used for case insensitive comparison
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References lexicographical_compare().

template<typename ForwardIterator , typename T >
boost::algorithm::iota ( ForwardIterator  first,
ForwardIterator  last,
T  value 
)

Generates an increasing sequence of values, and stores them in [first, last)

Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
valueThe initial value of the sequence to be generated
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, boost::last, and boost::program_options::value().

Referenced by iota().

template<typename Range , typename T >
boost::algorithm::iota ( Range &  r,
T  value 
)

Generates an increasing sequence of values, and stores them in the input Range.

Parameters
rThe input range
valueThe initial value of the sequence to be generated

References boost::asio::begin, boost::end, and iota().

template<typename OutputIterator , typename T >
boost::algorithm::iota_n ( OutputIterator  out,
T  value,
std::size_t  n 
)

Generates an increasing sequence of values, and stores them in the input Range.

Parameters
outAn output iterator to write the results into
valueThe initial value of the sequence to be generated
nThe number of items to write

References boost::n, boost::out, and boost::program_options::value().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::ireplace_all ( SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
FormatA substitute string
LocA locale used for case insensitive comparison

References const_formatter(), find_format_all(), and first_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::ireplace_all_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const Range3T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
FormatA substitute string
LocA locale used for case insensitive comparison
Returns
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

References const_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::ireplace_all_copy ( const SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

Replace all algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::ireplace_first ( SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
FormatA substitute string
LocA locale used for case insensitive comparison

References const_formatter(), find_format(), and first_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::ireplace_first_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const Range3T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
FormatA substitute string
LocA locale used for case insensitive comparison
Returns
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

References const_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename Range2T , typename Range1T >
SequenceT boost::algorithm::ireplace_first_copy ( const SequenceT &  Input,
const Range2T &  Search,
const Range1T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

Replace first algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::ireplace_last ( SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
FormatA substitute string
LocA locale used for case insensitive comparison
Returns
A reference to the modified input

References const_formatter(), find_format(), and last_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::ireplace_last_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const Range3T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
FormatA substitute string
LocA locale used for case insensitive comparison
Returns
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

References const_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::ireplace_last_copy ( const SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

Replace last algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::ireplace_nth ( SequenceT &  Input,
const Range1T &  Search,
int  Nth,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
FormatA substitute string
LocA locale used for case insensitive comparison

References const_formatter(), find_format(), and nth_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::ireplace_nth_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
int  Nth,
const Range3T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
FormatA substitute string
LocA locale used for case insensitive comparison
Returns
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

References const_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::ireplace_nth_copy ( const SequenceT &  Input,
const Range1T &  Search,
int  Nth,
const Range2T &  Format,
const std::locale &  Loc = std::locale() 
)
inline

Replace nth algorithm ( case insensitive )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and nth_finder().

detail::is_classifiedF boost::algorithm::is_alnum ( const std::locale &  Loc = std::locale())
inline

is_alnum predicate

Construct the is_classified predicate for the ctype_base::alnum category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::alnum.

detail::is_classifiedF boost::algorithm::is_alpha ( const std::locale &  Loc = std::locale())
inline

is_alpha predicate

Construct the is_classified predicate for the ctype_base::alpha category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::alpha.

template<typename RangeT >
detail::is_any_ofF< BOOST_STRING_TYPENAME range_value<RangeT>::type> boost::algorithm::is_any_of ( const RangeT &  Set)
inline

is_any_of predicate

Construct the is_any_of predicate. The predicate holds if the input is included in the specified set of characters.

Parameters
SetA set of characters to be recognized
Returns
An instance of the is_any_of predicate

References boost::as_literal(), and boost::detail::type.

Referenced by boost::geometry::svg_mapper< Point, SameScale >::text().

detail::is_classifiedF boost::algorithm::is_classified ( std::ctype_base::mask  Type,
const std::locale &  Loc = std::locale() 
)
inline

is_classified predicate

Construct the is_classified predicate. This predicate holds if the input is of specified std::ctype category.

Parameters
TypeA std::ctype category
LocA locale used for classification
Returns
An instance of the is_classified predicate
detail::is_classifiedF boost::algorithm::is_cntrl ( const std::locale &  Loc = std::locale())
inline

is_cntrl predicate

Construct the is_classified predicate for the ctype_base::cntrl category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::cntrl.

template<typename ForwardIterator >
boost::algorithm::is_decreasing ( ForwardIterator  first,
ForwardIterator  last 
)
Returns
true if the entire sequence is decreasing; i.e, each item is less than or equal to the previous one.
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence
Note
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.

References is_sorted().

Referenced by is_decreasing().

template<typename R >
boost::algorithm::is_decreasing ( const R &  range)
Returns
true if the entire sequence is decreasing; i.e, each item is less than or equal to the previous one.
Parameters
rangeThe range to be tested.
Note
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.

References boost::asio::begin, boost::end, and is_decreasing().

detail::is_classifiedF boost::algorithm::is_digit ( const std::locale &  Loc = std::locale())
inline

is_digit predicate

Construct the is_classified predicate for the ctype_base::digit category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::digit.

template<typename CharT >
detail::is_from_rangeF<CharT> boost::algorithm::is_from_range ( CharT  From,
CharT  To 
)
inline

is_from_range predicate

Construct the is_from_range predicate. The predicate holds if the input is included in the specified range. (i.e. From <= Ch <= To )

Parameters
FromThe start of the range
ToThe end of the range
Returns
An instance of the is_from_range predicate
detail::is_classifiedF boost::algorithm::is_graph ( const std::locale &  Loc = std::locale())
inline

is_graph predicate

Construct the is_classified predicate for the ctype_base::graph category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::graph.

template<typename ForwardIterator >
boost::algorithm::is_increasing ( ForwardIterator  first,
ForwardIterator  last 
)

– Range based versions of the C++11 functions

Returns
true if the entire sequence is increasing; i.e, each item is greater than or equal to the previous one.
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence
Note
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.

References is_sorted().

Referenced by is_increasing().

template<typename R >
boost::algorithm::is_increasing ( const R &  range)
Returns
true if the entire sequence is increasing; i.e, each item is greater than or equal to the previous one.
Parameters
rangeThe range to be tested.
Note
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.

References boost::asio::begin, boost::end, and is_increasing().

detail::is_classifiedF boost::algorithm::is_lower ( const std::locale &  Loc = std::locale())
inline

is_lower predicate

Construct the is_classified predicate for the ctype_base::lower category.

Parameters
LocA locale used for classification
Returns
An instance of is_classified predicate
template<typename InputIterator , typename UnaryPredicate >
boost::algorithm::is_partitioned ( InputIterator  first,
InputIterator  last,
UnaryPredicate  p 
)

Tests to see if a sequence is partitioned according to a predicate.

Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pThe predicate to test the values with
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, and boost::last.

Referenced by is_partitioned().

template<typename Range , typename UnaryPredicate >
boost::algorithm::is_partitioned ( const Range &  r,
UnaryPredicate  p 
)

Generates an increasing sequence of values, and stores them in the input Range.

Parameters
rThe input range
pThe predicate to test the values with

References boost::asio::begin, boost::end, and is_partitioned().

template<class ForwardIterator1 , class ForwardIterator2 >
boost::algorithm::is_permutation ( ForwardIterator1  first,
ForwardIterator1  last,
ForwardIterator2  first2,
ForwardIterator2  last2 
)

Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.

Parameters
first1The start of the input sequence
last2One past the end of the input sequence
first2The start of the second sequence
last1One past the end of the second sequence
Note
This function is part of the C++2014 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::tuples::detail::eq(), boost::fusion::equal_to(), and mismatch().

template<class ForwardIterator1 , class ForwardIterator2 , class BinaryPredicate >
boost::algorithm::is_permutation ( ForwardIterator1  first,
ForwardIterator1  last,
ForwardIterator2  first2,
ForwardIterator2  last2,
BinaryPredicate  p 
)

Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.

Parameters
first1The start of the input sequence
last1One past the end of the input sequence
first2The start of the second sequence
last2One past the end of the second sequence
predThe predicate to compare elements with
Note
This function is part of the C++2014 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::tuples::detail::eq(), and mismatch().

template<class ForwardIterator1 , class ForwardIterator2 , class BinaryPredicate >
boost::algorithm::is_permutation ( ForwardIterator1  first,
ForwardIterator1  last,
ForwardIterator2  first2,
BinaryPredicate  p 
)

Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.

Parameters
first1The start of the input sequence
last1One past the end of the input sequence
first2The start of the second sequence
pThe predicate to compare elements with
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::fusion::advance(), boost::fusion::distance(), boost::tuples::detail::eq(), and mismatch().

Referenced by is_permutation().

template<class ForwardIterator1 , class ForwardIterator2 >
boost::algorithm::is_permutation ( ForwardIterator1  first,
ForwardIterator1  last,
ForwardIterator2  first2 
)

Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.

Parameters
first1The start of the input sequence
last2One past the end of the input sequence
first2The start of the second sequence
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::fusion::advance(), boost::fusion::distance(), boost::tuples::detail::eq(), boost::fusion::equal_to(), and mismatch().

template<typename Range , typename ForwardIterator >
boost::algorithm::is_permutation ( const Range &  r,
ForwardIterator  first2 
)

Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.

Parameters
rThe input range
first2The start of the second sequence

References boost::asio::begin, boost::end, and is_permutation().

template<typename Range , typename ForwardIterator , typename BinaryPredicate >
boost::algorithm::is_permutation ( const Range &  r,
ForwardIterator  first2,
BinaryPredicate  pred 
)

Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2.

Parameters
rThe input range
first2The start of the second sequence
predThe predicate to compare elements with

References boost::asio::begin, boost::end, and is_permutation().

detail::is_classifiedF boost::algorithm::is_print ( const std::locale &  Loc = std::locale())
inline

is_print predicate

Construct the is_classified predicate for the ctype_base::print category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::print.

detail::is_classifiedF boost::algorithm::is_punct ( const std::locale &  Loc = std::locale())
inline

is_punct predicate

Construct the is_classified predicate for the ctype_base::punct category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::punct.

template<typename ForwardIterator , typename Pred >
boost::algorithm::is_sorted ( ForwardIterator  first,
ForwardIterator  last,
Pred  p 
)
Returns
whether or not the entire sequence is sorted
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence
pA binary predicate that returns true if two elements are ordered.

References is_sorted_until(), and boost::last.

Referenced by is_decreasing(), is_increasing(), is_sorted(), is_strictly_decreasing(), is_strictly_increasing(), and boost::graph::distributed::cc_detail::parallel_connected_components().

template<typename ForwardIterator >
boost::algorithm::is_sorted ( ForwardIterator  first,
ForwardIterator  last 
)
Returns
whether or not the entire sequence is sorted
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence

References is_sorted_until(), and boost::last.

template<typename R , typename Pred >
boost::algorithm::is_sorted ( const R &  range,
Pred  p 
)
Returns
whether or not the entire range R is sorted (according to the comparison predicate 'p').
Parameters
rangeThe range to be tested.
pA binary predicate that returns true if two elements are ordered.

References boost::asio::begin, boost::end, and is_sorted().

template<typename R >
boost::algorithm::is_sorted ( const R &  range)
Returns
whether or not the entire range R is sorted
Parameters
rangeThe range to be tested.

References boost::asio::begin, boost::end, and is_sorted().

template<typename ForwardIterator , typename Pred >
boost::algorithm::is_sorted_until ( ForwardIterator  first,
ForwardIterator  last,
Pred  p 
)
Returns
the point in the sequence [first, last) where the elements are unordered (according to the comparison predicate 'p').
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence
pA binary predicate that returns true if two elements are ordered.

References boost::xpressive::first, boost::last, and boost::next().

Referenced by is_sorted(), and is_sorted_until().

template<typename ForwardIterator >
boost::algorithm::is_sorted_until ( ForwardIterator  first,
ForwardIterator  last 
)
Returns
the point in the sequence [first, last) where the elements are unordered
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence

References is_sorted_until().

template<typename R , typename Pred >
boost::algorithm::is_sorted_until ( const R &  range,
Pred  p 
)

– Range based versions of the C++11 functions

Returns
the point in the range R where the elements are unordered (according to the comparison predicate 'p').
Parameters
rangeThe range to be tested.
pA binary predicate that returns true if two elements are ordered.

References boost::asio::begin, boost::end, and is_sorted_until().

template<typename R >
boost::algorithm::is_sorted_until ( const R &  range)
Returns
the point in the range R where the elements are unordered
Parameters
rangeThe range to be tested.

References boost::asio::begin, boost::end, and is_sorted_until().

detail::is_classifiedF boost::algorithm::is_space ( const std::locale &  Loc = std::locale())
inline

is_space predicate

Construct the is_classified predicate for the ctype_base::space category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::space.

Referenced by trim(), trim_all(), trim_all_copy(), trim_copy(), trim_fill(), trim_fill_copy(), trim_left(), trim_left_copy(), trim_right(), and trim_right_copy().

template<typename ForwardIterator >
boost::algorithm::is_strictly_decreasing ( ForwardIterator  first,
ForwardIterator  last 
)
Returns
true if the entire sequence is strictly decreasing; i.e, each item is less than the previous one
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence
Note
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.

References is_sorted().

Referenced by is_strictly_decreasing().

template<typename R >
boost::algorithm::is_strictly_decreasing ( const R &  range)
Returns
true if the entire sequence is strictly decreasing; i.e, each item is less than the previous one
Parameters
rangeThe range to be tested.
Note
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.

References boost::asio::begin, boost::end, and is_strictly_decreasing().

template<typename ForwardIterator >
boost::algorithm::is_strictly_increasing ( ForwardIterator  first,
ForwardIterator  last 
)
Returns
true if the entire sequence is strictly increasing; i.e, each item is greater than the previous one
Parameters
firstThe start of the sequence to be tested.
lastOne past the end of the sequence
Note
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.

References is_sorted().

Referenced by is_strictly_increasing().

template<typename R >
boost::algorithm::is_strictly_increasing ( const R &  range)
Returns
true if the entire sequence is strictly increasing; i.e, each item is greater than the previous one
Parameters
rangeThe range to be tested.
Note
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.

References boost::asio::begin, boost::end, and is_strictly_increasing().

detail::is_classifiedF boost::algorithm::is_upper ( const std::locale &  Loc = std::locale())
inline

is_upper predicate

Construct the is_classified predicate for the ctype_base::upper category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate
detail::is_classifiedF boost::algorithm::is_xdigit ( const std::locale &  Loc = std::locale())
inline

is_xdigit predicate

Construct the is_classified predicate for the ctype_base::xdigit category.

Parameters
LocA locale used for classification
Returns
An instance of the is_classified predicate

References boost::spirit::ascii::xdigit.

template<typename Range1T , typename Range2T >
bool boost::algorithm::istarts_with ( const Range1T &  Input,
const Range2T &  Test,
const std::locale &  Loc = std::locale() 
)
inline

'Starts with' predicate ( case insensitive )

This predicate holds when the test string is a prefix of the Input. In other words, if the input starts with the test. Elements are compared case insensitively.

Parameters
InputAn input sequence
TestA test sequence
LocA locale used for case insensitive comparison
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References starts_with().

template<typename SequenceSequenceT , typename RangeT , typename FinderT >
SequenceSequenceT& boost::algorithm::iter_find ( SequenceSequenceT &  Result,
RangeT &  Input,
FinderT  Finder 
)
inline

Iter find algorithm.

This algorithm executes a given finder in iteration on the input, until the end of input is reached, or no match is found. Iteration is done using built-in find_iterator, so the real searching is performed only when needed. In each iteration new match is found and added to the result.

Parameters
ResultA 'container container' to contain the result of search. Both outer and inner container must have constructor taking a pair of iterators as an argument. Typical type of the result is std::vector<boost::iterator_range<iterator>> (each element of such a vector will container a range delimiting a match).
InputA container which will be searched.
FinderA Finder object used for searching
Returns
A reference to the result
Note
Prior content of the result will be overwritten.

References boost::as_literal(), boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, boost::asio::end, and boost::iterators::make_transform_iterator().

Referenced by find_all(), find_all_regex(), and ifind_all().

template<typename SequenceSequenceT , typename RangeT , typename FinderT >
SequenceSequenceT& boost::algorithm::iter_split ( SequenceSequenceT &  Result,
RangeT &  Input,
FinderT  Finder 
)
inline

Split find algorithm.

This algorithm executes a given finder in iteration on the input, until the end of input is reached, or no match is found. Iteration is done using built-in find_iterator, so the real searching is performed only when needed. Each match is used as a separator of segments. These segments are then returned in the result.

Parameters
ResultA 'container container' to contain the result of search. Both outer and inner container must have constructor taking a pair of iterators as an argument. Typical type of the result is std::vector<boost::iterator_range<iterator>> (each element of such a vector will container a range delimiting a match).
InputA container which will be searched.
FinderA finder object used for searching
Returns
A reference to the result
Note
Prior content of the result will be overwritten.

References boost::as_literal(), boost::asio::begin, boost::BOOST_CONCEPT_ASSERT(), BOOST_STRING_TYPENAME, boost::asio::end, and boost::iterators::make_transform_iterator().

Referenced by split(), and split_regex().

template<typename SequenceSequenceT , typename Range1T >
range_value<SequenceSequenceT>::type boost::algorithm::join ( const SequenceSequenceT &  Input,
const Range1T &  Separator 
)
inline

Join algorithm.

This algorithm joins all strings in a 'list' into one long string. Segments are concatenated by given separator.

Parameters
InputA container that holds the input strings. It must be a container-of-containers.
SeparatorA string that will separate the joined segments.
Returns
Concatenated string.
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, boost::end, boost::asio::end, and boost::xpressive::insert.

template<typename SequenceSequenceT , typename Range1T , typename PredicateT >
range_value<SequenceSequenceT>::type boost::algorithm::join_if ( const SequenceSequenceT &  Input,
const Range1T &  Separator,
PredicateT  Pred 
)
inline

Conditional join algorithm.

This algorithm joins all strings in a 'list' into one long string. Segments are concatenated by given separator. Only segments that satisfy the predicate will be added to the result.

Parameters
InputA container that holds the input strings. It must be a container-of-containers.
SeparatorA string that will separate the joined segments.
PredA segment selection predicate
Returns
Concatenated string.
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, boost::end, boost::asio::end, and boost::xpressive::insert.

template<typename SequenceSequenceT , typename Range1T , typename CharT , typename RegexTraitsT >
range_value<SequenceSequenceT>::type boost::algorithm::join_if ( const SequenceSequenceT &  Input,
const Range1T &  Separator,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Conditional join algorithm.

This algorithm joins all strings in a 'list' into one long string. Segments are concatenated by given separator. Only segments that match the given regular expression will be added to the result

This is a specialization of join_if algorithm.

Parameters
InputA container that holds the input strings. It must be a container-of-containers.
SeparatorA string that will separate the joined segments.
RxA regular expression
FlagsRegex options
Returns
Concatenated string.
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, boost::end, boost::asio::end, boost::xpressive::insert, and boost::regex_match().

template<typename patIter , typename corpusIter >
boost::algorithm::knuth_morris_pratt_search ( corpusIter  corpus_first,
corpusIter  corpus_last,
patIter  pat_first,
patIter  pat_last 
)

Searches the corpus for the pattern.

Parameters
corpus_firstThe start of the data to search (Random Access Iterator)
corpus_lastOne past the end of the data to search
pat_firstThe start of the pattern to search for (Random Access Iterator)
pat_lastOne past the end of the data to search for
template<typename PatternRange , typename corpusIter >
corpusIter boost::algorithm::knuth_morris_pratt_search ( corpusIter  corpus_first,
corpusIter  corpus_last,
const PatternRange &  pattern 
)

References boost::asio::begin, and boost::end.

template<typename patIter , typename CorpusRange >
boost::lazy_disable_if_c< boost::is_same<CorpusRange, patIter>::value, typename boost::range_iterator<CorpusRange> >::type boost::algorithm::knuth_morris_pratt_search ( CorpusRange &  corpus,
patIter  pat_first,
patIter  pat_last 
)

References boost::asio::begin, and boost::end.

template<typename PatternRange , typename CorpusRange >
boost::range_iterator<CorpusRange>::type boost::algorithm::knuth_morris_pratt_search ( CorpusRange &  corpus,
const PatternRange &  pattern 
)

References boost::asio::begin, and boost::end.

template<typename RangeT >
detail::last_finderF< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, is_equal> boost::algorithm::last_finder ( const RangeT &  Search)
inline

"Last" finder

Construct the last_finder. The finder searches for the last occurrence of the string in a given input. The result is given as an iterator_range delimiting the match.

Parameters
SearchA substring to be searched for.
CompAn element comparison predicate
Returns
An instance of the last_finder object

References boost::as_literal(), BOOST_STRING_TYPENAME, and boost::serialization::is_equal().

Referenced by erase_last(), erase_last_copy(), find_last(), ierase_last(), ierase_last_copy(), ifind_last(), ireplace_last(), ireplace_last_copy(), replace_last(), and replace_last_copy().

template<typename RangeT , typename PredicateT >
detail::last_finderF< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, PredicateT> boost::algorithm::last_finder ( const RangeT &  Search,
PredicateT  Comp 
)
inline

"Last" finder

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::as_literal(), and BOOST_STRING_TYPENAME.

template<typename Range1T , typename Range2T , typename PredicateT >
bool boost::algorithm::lexicographical_compare ( const Range1T &  Arg1,
const Range2T &  Arg2,
PredicateT  Pred 
)
inline

Lexicographical compare predicate.

This predicate is an overload of std::lexicographical_compare for range arguments

It check whether the first argument is lexicographically less then the second one.

If the optional predicate is specified, it is used for character-wise comparison

Parameters
Arg1First argument
Arg2Second argument
PredComparison predicate
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, boost::end, and lexicographical_compare().

Referenced by boost::iterator_range_detail::less_than(), boost::phoenix::impl::lexicographical_compare::operator()(), boost::lambda::ll::lexicographical_compare::operator()(), boost::detail::multi_array::const_sub_array< T, NumDims, T * >::operator<(), boost::re_detail::character_pointer_range< charT >::operator<(), boost::icl::operator<(), boost::detail::multi_array::const_multi_array_view< T, NumDims, T * >::operator<(), boost::const_multi_array_ref< T, NumDims, T * >::operator<(), boost::operator<(), boost::intrusive::operator<(), and boost::multi_index::detail::operator<().

template<typename Range1T , typename Range2T >
bool boost::algorithm::lexicographical_compare ( const Range1T &  Arg1,
const Range2T &  Arg2 
)
inline

Lexicographical compare predicate.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Referenced by ilexicographical_compare(), and lexicographical_compare().

template<typename Range >
boost::algorithm::boyer_moore<typename boost::range_iterator<const Range>::type> boost::algorithm::make_boyer_moore ( const Range &  r)

References boost::asio::begin, and boost::end.

template<typename Range >
boost::algorithm::boyer_moore<typename boost::range_iterator<Range>::type> boost::algorithm::make_boyer_moore ( Range &  r)

References boost::asio::begin, and boost::end.

template<typename Range >
boost::algorithm::boyer_moore_horspool<typename boost::range_iterator<const Range>::type> boost::algorithm::make_boyer_moore_horspool ( const Range &  r)

References boost::asio::begin, and boost::end.

template<typename Range >
boost::algorithm::boyer_moore_horspool<typename boost::range_iterator<Range>::type> boost::algorithm::make_boyer_moore_horspool ( Range &  r)

References boost::asio::begin, and boost::end.

template<typename RangeT , typename FinderT >
find_iterator< BOOST_STRING_TYPENAME range_iterator<RangeT>::type> boost::algorithm::make_find_iterator ( RangeT &  Collection,
FinderT  Finder 
)
inline

find iterator construction helper

Construct a find iterator to iterate through the specified string

template<typename Range >
boost::algorithm::knuth_morris_pratt<typename boost::range_iterator<const Range>::type> boost::algorithm::make_knuth_morris_pratt ( const Range &  r)

References boost::asio::begin, and boost::end.

template<typename Range >
boost::algorithm::knuth_morris_pratt<typename boost::range_iterator<Range>::type> boost::algorithm::make_knuth_morris_pratt ( Range &  r)

References boost::asio::begin, and boost::end.

template<typename RangeT , typename FinderT >
split_iterator< BOOST_STRING_TYPENAME range_iterator<RangeT>::type> boost::algorithm::make_split_iterator ( RangeT &  Collection,
FinderT  Finder 
)
inline

split iterator construction helper

Construct a split iterator to iterate through the specified collection

template<class InputIterator1 , class InputIterator2 , class BinaryPredicate >
boost::algorithm::mismatch ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2,
BinaryPredicate  pred 
)
Returns
a pair of iterators pointing to the first elements in the sequence that do not match
Parameters
first1The start of the first range.
last1One past the end of the first range.
first2The start of the second range.
last2One past the end of the second range.
predA predicate for comparing the elements of the ranges

Referenced by boost::graph::distributed::hohberg_detail::branch_point(), boost::find_odd_cycle(), is_permutation(), and boost::phoenix::impl::mismatch::operator()().

template<class InputIterator1 , class InputIterator2 >
boost::algorithm::mismatch ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2 
)
Returns
a pair of iterators pointing to the first elements in the sequence that do not match
Parameters
first1The start of the first range.
last1One past the end of the first range.
first2The start of the second range.
last2One past the end of the second range.
template<typename InputIterator , typename Predicate >
boost::algorithm::none_of ( InputIterator  first,
InputIterator  last,
Predicate  p 
)
Returns
true if none of the elements in [first, last) satisfy the predicate 'p'
Note
returns true on an empty range
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pA predicate for testing the elements of the sequence

References boost::xpressive::first, boost::last, and boost::multiprecision::backends::p.

Referenced by none_of(), and one_of().

template<typename Range , typename Predicate >
boost::algorithm::none_of ( const Range &  r,
Predicate  p 
)
Returns
true if none of the elements in the range satisfy the predicate 'p'
Note
returns true on an empty range
Parameters
rThe input range
pA predicate for testing the elements of the range

References boost::asio::begin, boost::end, and none_of().

template<typename InputIterator , typename V >
boost::algorithm::none_of_equal ( InputIterator  first,
InputIterator  last,
const V &  val 
)
Returns
true if none of the elements in [first, last) are equal to 'val'
Note
returns true on an empty range
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
valA value to compare against

References boost::xpressive::first, and boost::last.

Referenced by none_of_equal(), and one_of_equal().

template<typename Range , typename V >
boost::algorithm::none_of_equal ( const Range &  r,
const V &  val 
)
Returns
true if none of the elements in the range are equal to 'val'
Note
returns true on an empty range
Parameters
rThe input range
valA value to compare against

References boost::asio::begin, boost::end, and none_of_equal().

template<typename RangeT >
detail::nth_finderF< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, is_equal> boost::algorithm::nth_finder ( const RangeT &  Search,
int  Nth 
)
inline

"Nth" finder

Construct the 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 iterator_range delimiting the match.

Parameters
SearchA substring to be searched for.
NthAn index of the match to be find
CompAn element comparison predicate
Returns
An instance of the nth_finder object

References boost::as_literal(), BOOST_STRING_TYPENAME, and boost::serialization::is_equal().

Referenced by erase_nth(), erase_nth_copy(), find_nth(), ierase_nth(), ierase_nth_copy(), ifind_nth(), ireplace_nth(), ireplace_nth_copy(), replace_nth(), and replace_nth_copy().

template<typename RangeT , typename PredicateT >
detail::nth_finderF< BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type, PredicateT> boost::algorithm::nth_finder ( const RangeT &  Search,
int  Nth,
PredicateT  Comp 
)
inline

"Nth" finder

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::as_literal(), and BOOST_STRING_TYPENAME.

template<typename InputIterator , typename Predicate >
boost::algorithm::one_of ( InputIterator  first,
InputIterator  last,
Predicate  p 
)
Returns
true if the predicate 'p' is true for exactly one item in [first, last).
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pA predicate for testing the elements of the sequence

References boost::fusion::find_if(), boost::multiprecision::backends::i, and none_of().

Referenced by one_of().

template<typename Range , typename Predicate >
boost::algorithm::one_of ( const Range &  r,
Predicate  p 
)
Returns
true if the predicate 'p' is true for exactly one item in the range.
Parameters
rThe input range
pA predicate for testing the elements of the range

References boost::asio::begin, boost::end, and one_of().

template<typename InputIterator , typename V >
boost::algorithm::one_of_equal ( InputIterator  first,
InputIterator  last,
const V &  val 
)
Returns
true if the value 'val' exists only once in [first, last).
Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
valA value to compare against

References find(), boost::multiprecision::backends::i, and none_of_equal().

Referenced by one_of_equal().

template<typename Range , typename V >
boost::algorithm::one_of_equal ( const Range &  r,
const V &  val 
)
Returns
true if the value 'val' exists only once in the range.
Parameters
rThe input range
valA value to compare against

References boost::asio::begin, boost::end, and one_of_equal().

template<typename PredT >
detail::pred_notF<PredT> boost::algorithm::operator! ( const predicate_facade< PredT > &  Pred)
inline

predicate negation operator

Construct the class_not predicate. This predicate represents a negation. class_or holds if of the predicates return false.

Parameters
PredThe predicate to be negated
Returns
An instance of the class_not predicate
template<typename Pred1T , typename Pred2T >
detail::pred_andF<Pred1T, Pred2T> boost::algorithm::operator&& ( const predicate_facade< Pred1T > &  Pred1,
const predicate_facade< Pred2T > &  Pred2 
)
inline

predicate 'and' composition predicate

Construct the class_and predicate. This predicate can be used to logically combine two classification predicates. class_and holds, if both predicates return true.

Parameters
Pred1The first predicate
Pred2The second predicate
Returns
An instance of the class_and predicate
template<typename Pred1T , typename Pred2T >
detail::pred_orF<Pred1T, Pred2T> boost::algorithm::operator|| ( const predicate_facade< Pred1T > &  Pred1,
const predicate_facade< Pred2T > &  Pred2 
)
inline

predicate 'or' composition predicate

Construct the class_or predicate. This predicate can be used to logically combine two classification predicates. class_or holds, if one of the predicates return true.

Parameters
Pred1The first predicate
Pred2The second predicate
Returns
An instance of the class_or predicate
template<typename InputIterator , typename OutputIterator1 , typename OutputIterator2 , typename UnaryPredicate >
boost::algorithm::partition_copy ( InputIterator  first,
InputIterator  last,
OutputIterator1  out_true,
OutputIterator2  out_false,
UnaryPredicate  p 
)

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.

Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
out_trueAn output iterator to write the elements that satisfy the predicate into
out_falseAn output iterator to write the elements that do not satisfy the predicate into
pA predicate for dividing the elements of the input sequence.
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::xpressive::first, and boost::last.

Referenced by partition_copy().

template<typename Range , typename OutputIterator1 , typename OutputIterator2 , typename UnaryPredicate >
boost::algorithm::partition_copy ( const Range &  r,
OutputIterator1  out_true,
OutputIterator2  out_false,
UnaryPredicate  p 
)
Parameters
rThe input range
out_trueAn output iterator to write the elements that satisfy the predicate into
out_falseAn output iterator to write the elements that do not satisfy the predicate into
pA predicate for dividing the elements of the input sequence.

References boost::asio::begin, boost::end, and partition_copy().

template<typename ForwardIterator , typename Predicate >
boost::algorithm::partition_point ( ForwardIterator  first,
ForwardIterator  last,
Predicate  p 
)

Given a partitioned range, returns the partition point, i.e, the first element that does not satisfy p.

Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
pThe predicate to test the values with
Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

References boost::fusion::advance(), boost::fusion::distance(), and boost::xpressive::first.

Referenced by partition_point().

template<typename Range , typename Predicate >
boost::algorithm::partition_point ( Range &  r,
Predicate  p 
)

Given a partitioned range, returns the partition point.

Parameters
rThe input range
pThe predicate to test the values with

References boost::asio::begin, boost::end, and partition_point().

template<typename ForwardIteratorT >
detail::range_finderF<ForwardIteratorT> boost::algorithm::range_finder ( ForwardIteratorT  Begin,
ForwardIteratorT  End 
)
inline

"Range" finder

Construct the range_finder. The finder does not perform any operation. It simply returns the given range for any input.

Parameters
BeginBeginning of the range
EndEnd of the range
RangeThe range.
Returns
An instance of the range_finger object

Referenced by erase_range(), erase_range_copy(), replace_range(), and replace_range_copy().

template<typename ForwardIteratorT >
detail::range_finderF<ForwardIteratorT> boost::algorithm::range_finder ( iterator_range< ForwardIteratorT >  Range)
inline

"Range" finder

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename CharT , typename RegexTraitsT >
detail::find_regexF< basic_regex<CharT, RegexTraitsT> > boost::algorithm::regex_finder ( const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  MatchFlags = match_default 
)
inline

"Regex" finder

Construct the regex_finder. Finder uses the regex engine to search for a match. Result is given in regex_search_result. This is an extension of the iterator_range. In addition it contains match results from the regex_search algorithm.

Parameters
RxA regular expression
MatchFlagsRegex search options
Returns
An instance of the regex_finder object

Referenced by erase_all_regex(), erase_all_regex_copy(), erase_regex(), erase_regex_copy(), find_all_regex(), find_regex(), replace_all_regex(), replace_all_regex_copy(), replace_regex(), replace_regex_copy(), and split_regex().

template<typename CharT , typename TraitsT , typename AllocT >
detail::regex_formatF< std::basic_string< CharT, TraitsT, AllocT > > boost::algorithm::regex_formatter ( const std::basic_string< CharT, TraitsT, AllocT > &  Format,
match_flag_type  Flags = format_default 
)
inline

Regex formatter.

Construct the regex_formatter. Regex formatter uses the regex engine to format a match found by the regex_finder. This formatted it designed to closely cooperate with regex_finder.

Parameters
FormatRegex format definition
FlagsFormat flags
Returns
An instance of the regex_formatter functor

Referenced by replace_all_regex(), replace_all_regex_copy(), replace_regex(), and replace_regex_copy().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::replace_all ( SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format 
)
inline

Replace all algorithm.

Replace all occurrences of the search string in the input with the format string. The input sequence is modified in-place.

Parameters
InputAn input string
SearchA substring to be searched for
FormatA substitute string
Returns
A reference to the modified input

References const_formatter(), find_format_all(), and first_finder().

Referenced by boost::date_time::date_facet< time_type::date_type, CharT, OutItrT >::do_put_tm(), boost::escape_dot_string(), and boost::date_time::time_facet< time_type, CharT, OutItrT >::put().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::replace_all_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const Range3T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
FormatA substitute string
Returns
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

References const_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::replace_all_copy ( const SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format 
)
inline

Replace all algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_all_copy(), and first_finder().

template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
void boost::algorithm::replace_all_regex ( SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &  Format,
match_flag_type  Flags = match_default | format_default 
)
inline

Replace all regex algorithm.

Format all substrings, matching given regex, with the specified format. The input string is modified in-place.

Parameters
InputAn input string
RxA regular expression
FormatRegex format definition
FlagsRegex options

References find_format_all(), regex_finder(), and regex_formatter().

template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
OutputIteratorT boost::algorithm::replace_all_regex_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &  Format,
match_flag_type  Flags = match_default | format_default 
)
inline

Replace all regex algorithm.

Format all substrings, matching given regex, with the specified format. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
RxA regular expression
FormatRegex format definition
FlagsRegex options
Returns
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

References find_format_all_copy(), regex_finder(), and regex_formatter().

template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
SequenceT boost::algorithm::replace_all_regex_copy ( const SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &  Format,
match_flag_type  Flags = match_default | format_default 
)
inline

Replace all regex algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References find_format_all_copy(), regex_finder(), and regex_formatter().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::replace_first ( SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
FormatA substitute string

References const_formatter(), find_format(), and first_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::replace_first_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const Range3T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
FormatA substitute string
Returns
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

References const_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::replace_first_copy ( const SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format 
)
inline

Replace first algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and first_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::replace_head ( SequenceT &  Input,
int  N,
const RangeT &  Format 
)
inline

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.

Parameters
InputAn input string
NLength of the head. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
FormatA substitute string

References const_formatter(), find_format(), and head_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::replace_head_copy ( OutputIteratorT  Output,
const Range1T &  Input,
int  N,
const Range2T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
NLength of the head. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
FormatA substitute string
Returns
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

References const_formatter(), find_format_copy(), and head_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::replace_head_copy ( const SequenceT &  Input,
int  N,
const RangeT &  Format 
)
inline

Replace head algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and head_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::replace_last ( SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format 
)
inline

Replace last algorithm.

Replace the last match of the search string in the input with the format string. Input sequence is modified in-place.

Parameters
InputAn input string
SearchA substring to be searched for
FormatA substitute string

References const_formatter(), find_format(), and last_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::replace_last_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
const Range3T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
FormatA substitute string
Returns
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

References const_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::replace_last_copy ( const SequenceT &  Input,
const Range1T &  Search,
const Range2T &  Format 
)
inline

Replace last algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and last_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
void boost::algorithm::replace_nth ( SequenceT &  Input,
const Range1T &  Search,
int  Nth,
const Range2T &  Format 
)
inline

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.

Parameters
InputAn input string
SearchA substring to be searched for
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
FormatA substitute string

References const_formatter(), find_format(), and nth_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T , typename Range3T >
OutputIteratorT boost::algorithm::replace_nth_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const Range2T &  Search,
int  Nth,
const Range3T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchA substring to be searched for
NthAn index of the match to be replaced. The index is 0-based. For negative N, matches are counted from the end of string.
FormatA substitute string
Returns
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

References const_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceT , typename Range1T , typename Range2T >
SequenceT boost::algorithm::replace_nth_copy ( const SequenceT &  Input,
const Range1T &  Search,
int  Nth,
const Range2T &  Format 
)
inline

Replace nth algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and nth_finder().

template<typename SequenceT , typename RangeT >
void boost::algorithm::replace_range ( SequenceT &  Input,
const iterator_range< BOOST_STRING_TYPENAME range_iterator< SequenceT >::type > &  SearchRange,
const RangeT &  Format 
)
inline

Replace range algorithm.

Replace the given range in the input string. The input sequence is modified in-place.

Parameters
InputAn input string
SearchRangeA range in the input to be substituted
FormatA substitute string

References const_formatter(), find_format(), and range_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::replace_range_copy ( OutputIteratorT  Output,
const Range1T &  Input,
const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< Range1T >::type > &  SearchRange,
const Range2T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
SearchRangeA range in the input to be substituted
FormatA substitute string
Returns
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

References const_formatter(), find_format_copy(), and range_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::replace_range_copy ( const SequenceT &  Input,
const iterator_range< BOOST_STRING_TYPENAME range_const_iterator< SequenceT >::type > &  SearchRange,
const RangeT &  Format 
)
inline

Replace range algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and range_finder().

template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
void boost::algorithm::replace_regex ( SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &  Format,
match_flag_type  Flags = match_default | format_default 
)
inline

Replace regex algorithm.

Search for a substring matching given regex and format it with the specified format. The input string is modified in-place.

Parameters
InputAn input string
RxA regular expression
FormatRegex format definition
FlagsRegex options

References find_format(), regex_finder(), and regex_formatter().

template<typename OutputIteratorT , typename RangeT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
OutputIteratorT boost::algorithm::replace_regex_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &  Format,
match_flag_type  Flags = match_default | format_default 
)
inline

Replace regex algorithm.

Search for a substring matching given regex and format it with the specified format. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
RxA regular expression
FormatRegex format definition
FlagsRegex options
Returns
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

References find_format_copy(), regex_finder(), and regex_formatter().

template<typename SequenceT , typename CharT , typename RegexTraitsT , typename FormatStringTraitsT , typename FormatStringAllocatorT >
SequenceT boost::algorithm::replace_regex_copy ( const SequenceT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
const std::basic_string< CharT, FormatStringTraitsT, FormatStringAllocatorT > &  Format,
match_flag_type  Flags = match_default | format_default 
)
inline

Replace regex algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References find_format_copy(), regex_finder(), and regex_formatter().

template<typename SequenceT , typename RangeT >
void boost::algorithm::replace_tail ( SequenceT &  Input,
int  N,
const RangeT &  Format 
)
inline

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.

Parameters
InputAn input string
NLength of the tail. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
FormatA substitute string

References const_formatter(), find_format(), and tail_finder().

template<typename OutputIteratorT , typename Range1T , typename Range2T >
OutputIteratorT boost::algorithm::replace_tail_copy ( OutputIteratorT  Output,
const Range1T &  Input,
int  N,
const Range2T &  Format 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input string
NLength of the tail. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
FormatA substitute string
Returns
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

References const_formatter(), find_format_copy(), and tail_finder().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::replace_tail_copy ( const SequenceT &  Input,
int  N,
const RangeT &  Format 
)
inline

Replace tail algorithm.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References const_formatter(), find_format_copy(), and tail_finder().

template<typename SequenceSequenceT , typename RangeT , typename PredicateT >
SequenceSequenceT& boost::algorithm::split ( SequenceSequenceT &  Result,
RangeT &  Input,
PredicateT  Pred,
token_compress_mode_type  eCompress = token_compress_off 
)
inline

Split algorithm.

Tokenize expression. This function is equivalent to C strtok. Input sequence is split into tokens, separated by separators. Separators are given by means of the predicate.

Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are std::vector<std::string> or std::list<boost::iterator_range<std::string::iterator>>

Parameters
ResultA container that can hold copies of references to the substrings
InputA container which will be searched.
PredA predicate to identify separators. This predicate is supposed to return true if a given element is a separator.
eCompressIf eCompress argument is set to token_compress_on, adjacent separators are merged together. Otherwise, every two separators delimit a token.
Returns
A reference the result
Note
Prior content of the result will be overwritten.
This function provides the strong exception-safety guarantee

References iter_split(), and token_finder().

Referenced by boost::geometry::svg_mapper< Point, SameScale >::text().

template<typename SequenceSequenceT , typename RangeT , typename CharT , typename RegexTraitsT >
SequenceSequenceT& boost::algorithm::split_regex ( SequenceSequenceT &  Result,
const RangeT &  Input,
const basic_regex< CharT, RegexTraitsT > &  Rx,
match_flag_type  Flags = match_default 
)
inline

Split regex algorithm.

Tokenize expression. This function is equivalent to C strtok. Input sequence is split into tokens, separated by separators. Separator is an every match of the given regex. Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are std::vector<std::string> or std::list<boost::iterator_range<std::string::iterator>>

Parameters
ResultA container that can hold copies of references to the substrings.
InputA container which will be searched.
RxA regular expression
FlagsRegex options
Returns
A reference to the result
Note
Prior content of the result will be overwritten.
This function provides the strong exception-safety guarantee

References iter_split(), and regex_finder().

template<typename Range1T , typename Range2T , typename PredicateT >
bool boost::algorithm::starts_with ( const Range1T &  Input,
const Range2T &  Test,
PredicateT  Comp 
)
inline

'Starts with' predicate

This predicate holds when the test string is a prefix of the Input. In other words, if the input starts with the test. When the optional predicate is specified, it is used for character-wise comparison.

Parameters
InputAn input sequence
TestA test sequence
CompAn element comparison predicate
Returns
The result of the test
Note
This function provides the strong exception-safety guarantee

References boost::as_literal(), boost::asio::begin, BOOST_STRING_TYPENAME, boost::asio::end, and boost::it.

template<typename Range1T , typename Range2T >
bool boost::algorithm::starts_with ( const Range1T &  Input,
const Range2T &  Test 
)
inline

'Starts with' predicate

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::serialization::is_equal().

Referenced by istarts_with().

detail::tail_finderF boost::algorithm::tail_finder ( int  N)
inline

"Tail" finder

Construct the 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 iterator_range delimiting the match.

Parameters
NThe size of the head
Returns
An instance of the tail_finder object

Referenced by erase_tail(), erase_tail_copy(), find_tail(), replace_tail(), and replace_tail_copy().

template<typename WritableRangeT >
void boost::algorithm::to_lower ( WritableRangeT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Convert to lower case.

Each element of the input sequence is converted to lower case. The input sequence is modified in-place.

Parameters
InputA range
Loca locale used for conversion

References boost::as_literal().

template<typename OutputIteratorT , typename RangeT >
OutputIteratorT boost::algorithm::to_lower_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

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.

Parameters
OutputAn output iterator to which the result will be copied
InputAn input range
LocA locale used for conversion
Returns
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

References boost::as_literal().

Referenced by boost::date_time::string_parse_tree< CharT >::string_parse_tree().

template<typename SequenceT >
SequenceT boost::algorithm::to_lower_copy ( const SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Convert to lower case.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename WritableRangeT >
void boost::algorithm::to_upper ( WritableRangeT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Convert to upper case.

Each element of the input sequence is converted to upper case. The input sequence is modified in-place.

Parameters
InputAn input range
Loca locale used for conversion

References boost::as_literal().

Referenced by boost::spirit::lex::lexertl::detail::generate_cpp().

template<typename OutputIteratorT , typename RangeT >
OutputIteratorT boost::algorithm::to_upper_copy ( OutputIteratorT  Output,
const RangeT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

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

Parameters
OutputAn output iterator to which the result will be copied
InputAn input range
LocA locale used for conversion
Returns
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

References boost::as_literal().

template<typename SequenceT >
SequenceT boost::algorithm::to_upper_copy ( const SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Convert to upper case.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename PredicateT >
detail::token_finderF<PredicateT> boost::algorithm::token_finder ( PredicateT  Pred,
token_compress_mode_type  eCompress = token_compress_off 
)
inline

"Token" finder

Construct the 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 iterator_range delimiting the match.

Parameters
PredAn element selection predicate
eCompressCompress flag
Returns
An instance of the token_finder object

Referenced by find_token(), split(), trim_all_copy_if(), trim_all_if(), trim_fill_copy_if(), and trim_fill_if().

template<typename SequenceT >
void boost::algorithm::trim ( SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Trim.

Remove all leading and trailing spaces from the input. The input sequence is modified in-place.

Parameters
InputAn input sequence
LocA locale used for 'space' classification

References is_space(), and trim_if().

Referenced by boost::property_tree::ini_parser::read_ini().

template<typename SequenceT >
void boost::algorithm::trim_all ( SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Trim All.

Remove all leading and trailing spaces from the input and compress all other spaces to a single character. The input sequence is modified in-place.

Parameters
InputAn input sequence
LocA locale used for 'space' classification
Returns
A trimmed copy of the input

References is_space(), and trim_all_if().

template<typename SequenceT >
SequenceT boost::algorithm::trim_all_copy ( const SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Trim All.

Remove all leading and trailing spaces from the input and compress all other spaces to a single character. The result is a trimmed copy of the input

Parameters
InputAn input sequence
LocA locale used for 'space' classification
Returns
A trimmed copy of the input

References is_space(), and trim_all_copy_if().

template<typename SequenceT , typename PredicateT >
SequenceT boost::algorithm::trim_all_copy_if ( const SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Trim All - parametric.

Remove all leading and trailing spaces from the input and compress all other spaces to a single character. The result is a trimmed copy of the input

Parameters
InputAn input sequence
IsSpaceA unary predicate identifying spaces
Returns
A trimmed copy of the input

References dissect_formatter(), find_format_all_copy(), head_finder(), token_compress_on, token_finder(), and trim_copy_if().

Referenced by trim_all_copy().

template<typename SequenceT , typename PredicateT >
void boost::algorithm::trim_all_if ( SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Trim All.

Remove all leading and trailing spaces from the input and compress all other spaces to a single character. The input sequence is modified in-place.

Parameters
InputAn input sequence
IsSpaceA unary predicate identifying spaces

References dissect_formatter(), find_format_all(), head_finder(), token_compress_on, token_finder(), and trim_if().

Referenced by trim_all().

template<typename SequenceT >
SequenceT boost::algorithm::trim_copy ( const SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Trim.

Remove all leading and trailing spaces from the input. The result is a trimmed copy of the input

Parameters
InputAn input sequence
LocA locale used for 'space' classification
Returns
A trimmed copy of the input
Note
This function provides the strong exception-safety guarantee

References is_space(), and trim_copy_if().

template<typename OutputIteratorT , typename RangeT , typename PredicateT >
OutputIteratorT boost::algorithm::trim_copy_if ( OutputIteratorT  Output,
const RangeT &  Input,
PredicateT  IsSpace 
)
inline

Trim - parametric.

Remove all trailing and leading spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The result is a trimmed copy of the input. It is returned as a sequence or copied to the output iterator

Parameters
OutputAn output iterator to which the result will be copied
InputAn input range
IsSpaceA unary predicate identifying spaces
Returns
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

References boost::as_literal(), boost::asio::begin, BOOST_STRING_TYPENAME, boost::filesystem::detail::copy(), and boost::end.

Referenced by trim_all_copy_if(), and trim_fill_copy_if().

template<typename SequenceT , typename PredicateT >
SequenceT boost::algorithm::trim_copy_if ( const SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Trim - parametric.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::asio::begin, BOOST_STRING_TYPENAME, and boost::end.

Referenced by trim_copy().

template<typename SequenceT , typename RangeT >
void boost::algorithm::trim_fill ( SequenceT &  Input,
const RangeT &  Fill,
const std::locale &  Loc = std::locale() 
)
inline

Trim Fill.

Remove all leading and trailing spaces from the input and replace all every block of consecutive spaces with a fill string defined by user. The input sequence is modified in-place.

Parameters
InputAn input sequence
FillA string used to fill the inner spaces
LocA locale used for 'space' classification
Returns
A trimmed copy of the input

References is_space(), and trim_fill_if().

template<typename SequenceT , typename RangeT >
SequenceT boost::algorithm::trim_fill_copy ( const SequenceT &  Input,
const RangeT &  Fill,
const std::locale &  Loc = std::locale() 
)
inline

Trim Fill.

Remove all leading and trailing spaces from the input and replace all every block of consecutive spaces with a fill string defined by user. The result is a trimmed copy of the input

Parameters
InputAn input sequence
FillA string used to fill the inner spaces
LocA locale used for 'space' classification
Returns
A trimmed copy of the input

References is_space(), and trim_fill_copy_if().

template<typename SequenceT , typename RangeT , typename PredicateT >
SequenceT boost::algorithm::trim_fill_copy_if ( const SequenceT &  Input,
const RangeT &  Fill,
PredicateT  IsSpace 
)
inline

Trim Fill - parametric.

Remove all leading and trailing spaces from the input and replace all every block of consecutive spaces with a fill string defined by user. The result is a trimmed copy of the input

Parameters
InputAn input sequence
FillA string used to fill the inner spaces
IsSpaceA unary predicate identifying spaces
Returns
A trimmed copy of the input

References boost::as_literal(), const_formatter(), find_format_all_copy(), token_compress_on, token_finder(), and trim_copy_if().

Referenced by trim_fill_copy().

template<typename SequenceT , typename RangeT , typename PredicateT >
void boost::algorithm::trim_fill_if ( SequenceT &  Input,
const RangeT &  Fill,
PredicateT  IsSpace 
)
inline

Trim Fill.

Remove all leading and trailing spaces from the input and replace all every block of consecutive spaces with a fill string defined by user. The input sequence is modified in-place.

Parameters
InputAn input sequence
FillA string used to fill the inner spaces
IsSpaceA unary predicate identifying spaces

References boost::as_literal(), const_formatter(), find_format_all(), token_compress_on, token_finder(), and trim_if().

Referenced by trim_fill().

template<typename SequenceT , typename PredicateT >
void boost::algorithm::trim_if ( SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Trim.

Remove all leading and trailing spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The input sequence is modified in-place.

Parameters
InputAn input sequence
IsSpaceA unary predicate identifying spaces

References trim_left_if(), and trim_right_if().

Referenced by trim(), trim_all_if(), and trim_fill_if().

template<typename SequenceT >
void boost::algorithm::trim_left ( SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Left trim.

Remove all leading spaces from the input. The Input sequence is modified in-place.

Parameters
InputAn input sequence
LocA locale used for 'space' classification

References is_space(), and trim_left_if().

Referenced by boost::unit_test::basic_cstring< CharT >::trim(), and boost::unit_test::basic_cstring< CharT >::trim_left().

template<typename SequenceT >
SequenceT boost::algorithm::trim_left_copy ( const SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Left trim - parametric.

Remove all leading spaces from the input. The result is a trimmed copy of the input.

Parameters
InputAn input sequence
Loca locale used for 'space' classification
Returns
A trimmed copy of the input
Note
This function provides the strong exception-safety guarantee

References is_space(), and trim_left_copy_if().

template<typename OutputIteratorT , typename RangeT , typename PredicateT >
OutputIteratorT boost::algorithm::trim_left_copy_if ( OutputIteratorT  Output,
const RangeT &  Input,
PredicateT  IsSpace 
)
inline

Left trim - parametric.

Remove all leading spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The result is a trimmed copy of the input. It is returned as a sequence or copied to the output iterator

Parameters
OutputAn output iterator to which the result will be copied
InputAn input range
IsSpaceA unary predicate identifying spaces
Returns
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

References boost::as_literal(), boost::asio::begin, boost::filesystem::detail::copy(), and boost::end.

template<typename SequenceT , typename PredicateT >
SequenceT boost::algorithm::trim_left_copy_if ( const SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Left trim - parametric.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::asio::begin, and boost::end.

Referenced by trim_left_copy().

template<typename SequenceT , typename PredicateT >
void boost::algorithm::trim_left_if ( SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Left trim.

Remove all leading spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The input sequence is modified in-place.

Parameters
InputAn input sequence
IsSpaceA unary predicate identifying spaces

References boost::asio::begin, and boost::end.

Referenced by trim_if(), and trim_left().

template<typename SequenceT >
void boost::algorithm::trim_right ( SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Right trim.

Remove all trailing spaces from the input. The input sequence is modified in-place.

Parameters
InputAn input sequence
LocA locale used for 'space' classification

References is_space(), and trim_right_if().

Referenced by boost::unit_test::basic_cstring< CharT >::trim(), and boost::unit_test::basic_cstring< CharT >::trim_right().

template<typename SequenceT >
SequenceT boost::algorithm::trim_right_copy ( const SequenceT &  Input,
const std::locale &  Loc = std::locale() 
)
inline

Right trim.

Remove all trailing spaces from the input. The result is a trimmed copy of the input

Parameters
InputAn input sequence
LocA locale used for 'space' classification
Returns
A trimmed copy of the input
Note
This function provides the strong exception-safety guarantee

References is_space(), and trim_right_copy_if().

template<typename OutputIteratorT , typename RangeT , typename PredicateT >
OutputIteratorT boost::algorithm::trim_right_copy_if ( OutputIteratorT  Output,
const RangeT &  Input,
PredicateT  IsSpace 
)
inline

Right trim - parametric.

Remove all trailing spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The result is a trimmed copy of the input. It is returned as a sequence or copied to the output iterator

Parameters
OutputAn output iterator to which the result will be copied
InputAn input range
IsSpaceA unary predicate identifying spaces
Returns
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

References boost::as_literal(), boost::asio::begin, boost::filesystem::detail::copy(), and boost::end.

template<typename SequenceT , typename PredicateT >
SequenceT boost::algorithm::trim_right_copy_if ( const SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Right trim - parametric.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References boost::asio::begin, and boost::end.

Referenced by trim_right_copy().

template<typename SequenceT , typename PredicateT >
void boost::algorithm::trim_right_if ( SequenceT &  Input,
PredicateT  IsSpace 
)
inline

Right trim - parametric.

Remove all trailing spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The input sequence is modified in-place.

Parameters
InputAn input sequence
IsSpaceA unary predicate identifying spaces

References boost::asio::begin, and boost::end.

Referenced by trim_if(), and trim_right().

template<typename InputIterator , typename OutputIterator >
boost::algorithm::unhex ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)

Converts a sequence of hexadecimal characters into a sequence of integers.

Parameters
firstThe start of the input sequence
lastOne past the end of the input sequence
outAn output iterator to the results into
Returns
The updated output iterator
Note
Based on the MySQL function of the same name

References boost::out.

Referenced by unhex().

template<typename T , typename OutputIterator >
boost::algorithm::unhex ( const T ptr,
OutputIterator  out 
)

Converts a sequence of hexadecimal characters into a sequence of integers.

Parameters
ptrA pointer to a null-terminated input sequence.
outAn output iterator to the results into
Returns
The updated output iterator
Note
Based on the MySQL function of the same name

References boost::out, and T.

template<typename Range , typename OutputIterator >
OutputIterator boost::algorithm::unhex ( const Range &  r,
OutputIterator  out 
)

Converts a sequence of hexadecimal characters into a sequence of integers.

Parameters
rThe input range
outAn output iterator to the results into
Returns
The updated output iterator
Note
Based on the MySQL function of the same name

References boost::asio::begin, boost::end, and unhex().

template<typename String >
String boost::algorithm::unhex ( const String &  input)

Converts a sequence of hexadecimal characters into a sequence of characters.

Parameters
inputA container to be converted
Returns
A container with the decoded text

References unhex(), and boost::detail::void.