SubStrings< StringType > Class Template Reference

Sub-ranges of a string with a structure similar to std::match_results, but without the underlying regular expression matching. More...

Inheritance diagram for SubStrings< StringType >:
[legend]
Collaboration diagram for SubStrings< StringType >:
[legend]

Public Types

using value_type = typename std::sub_match< typename StringType::const_iterator >
 The element type. More...
 
using string_iterator = typename StringType::const_iterator
 The const_iterator for the underlying string type. More...
 

Public Member Functions

 SubStrings ()=default
 Default construct. More...
 
std::string::size_type length () const
 The total string length of all sub-elements. More...
 
void append (const typename StringType::const_iterator &b, const typename StringType::const_iterator &e)
 Append sub-string defined by begin/end iterators. More...
 
auto first () const -> decltype(this->front())
 
auto last () const -> decltype(this->back())
 
StringType str (size_t pos) const
 Get element at pos, converted to a string type. More...
 

Detailed Description

template<class StringType>
class Foam::SubStrings< StringType >

Sub-ranges of a string with a structure similar to std::match_results, but without the underlying regular expression matching.

Definition at line 51 of file SubStrings.H.

Member Typedef Documentation

◆ value_type

using value_type = typename std::sub_match<typename StringType::const_iterator>

The element type.

Definition at line 60 of file SubStrings.H.

◆ string_iterator

using string_iterator = typename StringType::const_iterator

The const_iterator for the underlying string type.

Definition at line 64 of file SubStrings.H.

Constructor & Destructor Documentation

◆ SubStrings()

SubStrings ( )
default

Default construct.

Member Function Documentation

◆ length()

std::string::size_type length ( ) const
inline

The total string length of all sub-elements.

Use size() for the number elements.

Definition at line 78 of file SubStrings.H.

◆ append()

void append ( const typename StringType::const_iterator &  b,
const typename StringType::const_iterator &  e 
)
inline

Append sub-string defined by begin/end iterators.

Definition at line 91 of file SubStrings.H.

References b, e, and range.

Referenced by Foam::stringOps::split(), Foam::stringOps::splitAny(), and Foam::stringOps::splitFixed().

Here is the caller graph for this function:

◆ first()

auto first ( ) const -> decltype(this->front())
inline

Const reference to the first element, for consistency with other OpenFOAM containers

Definition at line 107 of file SubStrings.H.

◆ last()

auto last ( ) const -> decltype(this->back())
inline

Const reference to the last element, for consistency with other OpenFOAM containers

Definition at line 114 of file SubStrings.H.

◆ str()

StringType str ( size_t  pos) const
inline

Get element at pos, converted to a string type.

Definition at line 120 of file SubStrings.H.

References Foam::pos().

Here is the call graph for this function:

The documentation for this class was generated from the following files: