diff --git a/doc/v2/snippet/const_string.hpp b/doc/v2/snippet/const_string.hpp index 108e1cb7..58ea195d 100644 --- a/doc/v2/snippet/const_string.hpp +++ b/doc/v2/snippet/const_string.hpp @@ -15,66 +15,78 @@ #include using std::string; -namespace common_layer { +namespace common_layer +{ // ************************************************************************** // // ************** const_string ************** // // ************************************************************************** // - class const_string { + class const_string + { public: // Subtypes - typedef char const* iterator; - typedef char const* const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef reverse_iterator const_reverse_iterator; + typedef char const* iterator; + typedef char const* const_iterator; + typedef std::reverse_iterator reverse_iterator; + typedef reverse_iterator const_reverse_iterator; // Constructor - const_string() - : m_begin( "" ), m_end( m_begin ) {} + const_string() : + m_begin( "" ), + m_end( m_begin ) + {} // Copy constructor is generated by compiler - const_string( const std::string& s ) - : m_begin( s.c_str() ), - m_end( m_begin + s.length() ) {} + const_string( const std::string& s ) : + m_begin( s.c_str() ), + m_end( m_begin + s.length() ) + {} const_string( char const* s ); - const_string( char const* s, size_t length ) - : m_begin( s ), m_end( m_begin + length ) { if( length == 0 ) erase(); } + const_string( char const* s, size_t length ) : + m_begin( s ), + m_end( m_begin + length ) + { + if(length == 0) + erase(); + } - const_string( char const* first, char const* last ) - : m_begin( first ), m_end( last ) {} + const_string( char const* first, char const* last ) : + m_begin( first ), + m_end( last ) + {} // data access methods - char operator[]( size_t index ) const { return m_begin[index]; } - char at( size_t index ) const; - - char const* data() const { return m_begin; } + char operator[]( size_t index ) const { return m_begin[index]; } + char at( size_t index ) const { return (*this)[index]; } + char const* data() const { return m_begin;} // length operators - size_t length() const { return m_end - m_begin; } - bool is_empty() const { return m_end == m_begin; } + size_t length() const { return m_end - m_begin;} + bool is_empty() const { return m_end == m_begin;} - void erase() { m_begin = m_end = ""; } - void resize( size_t new_len ) { if( m_begin + new_len < m_end ) m_end = m_begin + new_len; } - void rshorten( size_t shift = 1 ) { m_end -= shift; if( m_end <= m_begin ) erase(); } - void lshorten( size_t shift = 1 ) { m_begin += shift; if( m_end <= m_begin ) erase(); } + void erase() { m_begin = m_end = ""; } + void resize( size_t new_len ) { if( m_begin + new_len < m_end ) m_end = m_begin + new_len; } + void rshorten( size_t shift = 1 ) { m_end -= shift; if( m_end <= m_begin ) erase(); } + void lshorten( size_t shift = 1 ) { m_begin += shift; if( m_end <= m_begin ) erase(); } // Assignment operators - const_string& operator=( const_string const& s ); - const_string& operator=( string const& s ) { return *this = const_string( s ); } - const_string& operator=( char const* s ) { return *this = const_string( s ); } + const_string& operator=( const_string const& s ); + const_string& operator=( string const& s ) { return *this = const_string( s ); } + const_string& operator=( char const* s ) { return *this = const_string( s ); } - const_string& assign( const_string const& s ) { return *this = s; } - const_string& assign( string const& s, size_t len ) { return *this = const_string( s.data(), len ); } - const_string& assign( string const& s ) { return *this = const_string( s ); } - const_string& assign( char const* s ) { return *this = const_string( s ); } - const_string& assign( char const* s, size_t len ) { return *this = const_string( s, len ); } - const_string& assign( char const* f, char const* l ) { return *this = const_string( f, l ); } + const_string& assign( const_string const& s ) { return *this = s; } + const_string& assign( string const& s, size_t len ) { return *this = const_string( s.data(), len ); } + const_string& assign( string const& s ) { return *this = const_string( s ); } + const_string& assign( char const* s ) { return *this = const_string( s ); } + const_string& assign( char const* s, size_t len ) { return *this = const_string( s, len ); } + const_string& assign( char const* f, char const* l ) { return *this = const_string( f, l ); } - void swap( const_string& s ) { + void swap( const_string& s ) + { // do not want to include alogrithm char const* tmp1 = m_begin; char const* tmp2 = m_end;