rapidyaml  0.16.0
parseandemitYAML,anddoitfast
c4::basic_substring< C >::split_proxy_impl::split_iterator_impl Struct Reference

#include <substr.hpp>

Public Member Functions

 split_iterator_impl (split_proxy_impl const *proxy, size_t pos, C sep)
 
void _tick ()
 
split_iterator_impl & operator++ ()
 
split_iterator_impl operator++ (int)
 
basic_substring & operator* ()
 
basic_substring * operator-> ()
 
bool operator!= (split_iterator_impl const &that) const
 
bool operator== (split_iterator_impl const &that) const
 

Public Attributes

split_proxy_impl const * m_proxy
 
basic_substring m_str
 
size_t m_pos
 
NCC_ m_sep
 

Detailed Description

template<class C>
struct c4::basic_substring< C >::split_proxy_impl::split_iterator_impl

Definition at line 1846 of file substr.hpp.

Constructor & Destructor Documentation

template<class C>
c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::split_iterator_impl ( split_proxy_impl const *  proxy,
size_t  pos,
C  sep 
)
inline

Member Function Documentation

template<class C>
void c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::_tick ( )
inline
template<class C>
split_iterator_impl& c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::operator++ ( )
inline

Definition at line 1864 of file substr.hpp.

template<class C>
split_iterator_impl c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::operator++ ( int  )
inline

Definition at line 1865 of file substr.hpp.

1865 { split_iterator_impl it = *this; _tick(); return it; } // NOLINT
split_iterator_impl(split_proxy_impl const *proxy, size_t pos, C sep)
Definition: substr.hpp:1853
template<class C>
basic_substring& c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::operator* ( )
inline

Definition at line 1867 of file substr.hpp.

template<class C>
basic_substring* c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::operator-> ( )
inline

Definition at line 1868 of file substr.hpp.

template<class C>
bool c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::operator!= ( split_iterator_impl const &  that) const
inline

Definition at line 1870 of file substr.hpp.

1871  {
1872  return !(this->operator==(that));
1873  }
bool operator==(split_iterator_impl const &that) const
Definition: substr.hpp:1874
template<class C>
bool c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::operator== ( split_iterator_impl const &  that) const
inline

Definition at line 1874 of file substr.hpp.

1875  {
1876  C4_XASSERT((m_sep == that.m_sep) && "cannot compare split iterators with different separators");
1877  if(m_str.size() != that.m_str.size())
1878  return false;
1879  if(m_str.data() != that.m_str.data())
1880  return false;
1881  return m_pos == that.m_pos;
1882  }
C * data() noexcept
Definition: substr.hpp:366
size_t size() const noexcept
Definition: substr.hpp:358

Member Data Documentation

template<class C>
split_proxy_impl const* c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::m_proxy

Definition at line 1848 of file substr.hpp.

template<class C>
basic_substring c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::m_str
template<class C>
size_t c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::m_pos
template<class C>
NCC_ c4::basic_substring< C >::split_proxy_impl::split_iterator_impl::m_sep

The documentation for this struct was generated from the following file: