Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Function template ifind_all

boost::algorithm::ifind_all — Find all algorithm ( case insensitive )

Synopsis

// In header: <boost/algorithm/string/split.hpp>


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

Description

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.

[Note] Note

Prior content of the result will be overwritten.

[Note] Note

This function provides the strong exception-safety guarantee

Parameters:

Result

A container that can hold copies of references to the substrings

Input

A container which will be searched.

Search

A substring to be searched for.

Loc

A locale used for case insensitive comparison

Returns:

A reference the result


PrevUpHomeNext