OSVR-Core
Public Types | Public Member Functions | List of all members
csvtools::StringField Class Reference

Public Types

using iterator = std::string::const_iterator
 

Public Member Functions

 StringField (std::string const &line, const std::size_t b, const std::size_t e)
 
 StringField (StringField const &other, const std::size_t b, const std::size_t e)
 
 StringField (StringField const &other)=default
 
std::size_t beginPos () const
 return the beginning position, which is a valid position in the string.
 
std::size_t virtualEndPos () const
 return the virtual one-past-the-end position - may point one past the end of the array but isn't std::string::npos. More...
 
std::size_t endPos () const
 return the one-past-the-end position, which may be std::string::npos if the range includes the rest of the string. More...
 
std::size_t realLength () const
 gets the length of the field
 
std::size_t lengthForSubstr () const
 like realLength, except returns std::string::npos when the end includes the rest of the string. More...
 
bool empty () const
 Is the field/range empty?
 
std::string const & getLine () const
 Access (by reference) the full line.
 
std::string substr () const
 Make a copy of the range as a substring.
 
iterator begin () const
 Get a begin iterator.
 
iterator end () const
 Get an end iterator.
 
char front () const
 
char back () const
 
StringField stripQuotes () const
 Get a StringField object based on this one where outer quotation marks, if present, have been removed. More...
 
void loadIntoStringStream (std::istringstream &iss) const
 

Member Function Documentation

§ endPos()

std::size_t csvtools::StringField::endPos ( ) const
inline

return the one-past-the-end position, which may be std::string::npos if the range includes the rest of the string.

§ lengthForSubstr()

std::size_t csvtools::StringField::lengthForSubstr ( ) const
inline

like realLength, except returns std::string::npos when the end includes the rest of the string.

§ loadIntoStringStream()

void csvtools::StringField::loadIntoStringStream ( std::istringstream &  iss) const
inline
Todo:
might be able to do stuff with streambuf::sputn to make this more efficient, but...

§ stripQuotes()

StringField csvtools::StringField::stripQuotes ( ) const
inline

Get a StringField object based on this one where outer quotation marks, if present, have been removed.

Too short to be wrapped in quotes.

Not wrapped in quotes.

§ virtualEndPos()

std::size_t csvtools::StringField::virtualEndPos ( ) const
inline

return the virtual one-past-the-end position - may point one past the end of the array but isn't std::string::npos.


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