Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Public Member Functions | Protected Attributes
mrpt::utils::CStringList Class Reference

Detailed Description

A class for storing a list of text lines.

This class is optimized for managing strings on a "per-line" basis, although methods are also provided to obtain/set the whole string list as a single, multi-line string. There are methods for saving and loading to/from text files. You can access to lines directly by "CStringList::get" or through the operator "CStringList::operator ()". The later can be used both, to read and to write elements. Also methods are provided for accesing the text by key if they are formated as "key=value" lines.

Definition at line 32 of file CStringList.h.

#include <mrpt/utils/CStringList.h>

Inheritance diagram for mrpt::utils::CStringList:
Inheritance graph

Public Member Functions

 CStringList ()
 Default constructor (empty string list)
 
 CStringList (const std::string &text)
 Constructor from a text.
 
 CStringList (const std::deque< std::string > &lines)
 Explicit constructor from deque<string>
 
 CStringList (const std::vector< std::string > &lines)
 Explicit constructor from vector<string>
 
void add (const std::string &str)
 Appends a new string at the end of the string list.
 
CStringListoperator<< (const std::string &s)
 An alternative way of adding strings to the list.
 
void insert (size_t index, const std::string &str)
 Inserts a new item at a given position (0=insert at the beggining,1=put into the second position,...)
 
void set (size_t index, const std::string &str)
 Overwrites an existing position with a new value (0=first elements)
 
void clear ()
 Clear the whole list.
 
size_t size () const
 Returns the number of text lines in the list.
 
void remove (size_t index)
 Delete the element at a given position (0=first element)
 
bool find (const std::string &compareText, size_t foundIndex, bool caseSensitive=true) const
 Looks for a given string in the list, and returns its index, or returns "false" otherwise.
 
void get (size_t index, std::string &outText) const
 Returns one string from the line list.
 
std::string operator() (size_t index) const
 Returns one string from the line list.
 
std::string & operator() (size_t index)
 Returns a reference to one string from the line list.
 
void getText (std::string &outText) const
 Returns the whole string list as a single string with '\r
' characters for newlines.
 
std::string getText () const
 Returns the whole string list as a single string with '\r
' characters for newlines.
 
void setText (const std::string &inText)
 Fills the string list by parsing a single string with '\r', '
', or '\r
' characters indicatng newlines.
 
void loadFromFile (const std::string &fileName)
 Load the string list from a file.
 
void saveToFile (const std::string &fileName) const
 Save the string list to a file.
 
std::string get_string (const std::string &keyName)
 Returns the value of the given key ("key=value").
 
float get_float (const std::string &keyName)
 Returns the value of the given key ("key=value").
 
int get_int (const std::string &keyName)
 Returns the value of the given key ("key=value").
 
double get_double (const std::string &keyName)
 Returns the value of the given key ("key=value").
 
bool get_bool (const std::string &keyName)
 Returns the value of the given key ("key=value").
 
void set (const std::string &keyName, const std::string &value)
 Sets the value of a given key ("key=value"), overwritten previous value if it existed.
 
void set (const std::string &keyName, const int &value)
 Sets the value of a given key ("key=value"), overwritten previous value if it existed.
 
void set (const std::string &keyName, const float &value)
 Sets the value of a given key ("key=value"), overwritten previous value if it existed.
 
void set (const std::string &keyName, const double &value)
 Sets the value of a given key ("key=value"), overwritten previous value if it existed.
 
void set (const std::string &keyName, const bool &value)
 Sets the value of a given key ("key=value"), overwritten previous value if it existed.
 

Protected Member Functions

CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE
 
void readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE
 

Protected Attributes

std::deque< std::string > m_strings
 The internal list of strings.
 

RTTI stuff <br>

typedef CStringListPtr SmartPtr
 
static mrpt::utils::CLASSINIT _init_CStringList
 
static mrpt::utils::TRuntimeClassId classCStringList
 
static const mrpt::utils::TRuntimeClassIdclassinfo
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const MRPT_OVERRIDE
 
virtual mrpt::utils::CObjectduplicate () const MRPT_OVERRIDE
 
static mrpt::utils::CObjectCreateObject ()
 
static CStringListPtr Create ()
 

Member Typedef Documentation

◆ SmartPtr

A typedef for the associated smart pointer

Definition at line 35 of file CStringList.h.

Constructor & Destructor Documentation

◆ CStringList() [1/4]

mrpt::utils::CStringList::CStringList ( )

Default constructor (empty string list)

◆ CStringList() [2/4]

mrpt::utils::CStringList::CStringList ( const std::string &  text)

Constructor from a text.

◆ CStringList() [3/4]

mrpt::utils::CStringList::CStringList ( const std::deque< std::string > &  lines)
inlineexplicit

Explicit constructor from deque<string>

Definition at line 52 of file CStringList.h.

◆ CStringList() [4/4]

mrpt::utils::CStringList::CStringList ( const std::vector< std::string > &  lines)
inlineexplicit

Explicit constructor from vector<string>

Definition at line 55 of file CStringList.h.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId * mrpt::utils::CStringList::_GetBaseClass ( )
staticprotected

◆ add()

void mrpt::utils::CStringList::add ( const std::string &  str)

Appends a new string at the end of the string list.

See also
insert,set

◆ clear()

void mrpt::utils::CStringList::clear ( )

Clear the whole list.

◆ Create()

static CStringListPtr mrpt::utils::CStringList::Create ( )
static

◆ CreateObject()

static mrpt::utils::CObject * mrpt::utils::CStringList::CreateObject ( )
static

◆ duplicate()

virtual mrpt::utils::CObject * mrpt::utils::CStringList::duplicate ( ) const
virtual

◆ find()

bool mrpt::utils::CStringList::find ( const std::string &  compareText,
size_t  foundIndex,
bool  caseSensitive = true 
) const

Looks for a given string in the list, and returns its index, or returns "false" otherwise.

Returns
true if string has been found.

◆ get()

void mrpt::utils::CStringList::get ( size_t  index,
std::string &  outText 
) const

Returns one string from the line list.

◆ get_bool()

bool mrpt::utils::CStringList::get_bool ( const std::string &  keyName)

Returns the value of the given key ("key=value").

Exceptions
std::exceptionIf the key is not found in the string list.

◆ get_double()

double mrpt::utils::CStringList::get_double ( const std::string &  keyName)

Returns the value of the given key ("key=value").

Exceptions
std::exceptionIf the key is not found in the string list.

◆ get_float()

float mrpt::utils::CStringList::get_float ( const std::string &  keyName)

Returns the value of the given key ("key=value").

Exceptions
std::exceptionIf the key is not found in the string list.

◆ get_int()

int mrpt::utils::CStringList::get_int ( const std::string &  keyName)

Returns the value of the given key ("key=value").

Exceptions
std::exceptionIf the key is not found in the string list.

◆ get_string()

std::string mrpt::utils::CStringList::get_string ( const std::string &  keyName)

Returns the value of the given key ("key=value").

Exceptions
std::exceptionIf the key is not found in the string list.

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId * mrpt::utils::CStringList::GetRuntimeClass ( ) const
virtual

◆ getText() [1/2]

std::string mrpt::utils::CStringList::getText ( ) const
inline

Returns the whole string list as a single string with '\r
' characters for newlines.

Definition at line 116 of file CStringList.h.

◆ getText() [2/2]

void mrpt::utils::CStringList::getText ( std::string &  outText) const

Returns the whole string list as a single string with '\r
' characters for newlines.

◆ insert()

void mrpt::utils::CStringList::insert ( size_t  index,
const std::string &  str 
)

Inserts a new item at a given position (0=insert at the beggining,1=put into the second position,...)

See also
add,set

◆ loadFromFile()

void mrpt::utils::CStringList::loadFromFile ( const std::string &  fileName)

Load the string list from a file.

◆ operator()() [1/2]

std::string & mrpt::utils::CStringList::operator() ( size_t  index)

Returns a reference to one string from the line list.

◆ operator()() [2/2]

std::string mrpt::utils::CStringList::operator() ( size_t  index) const

Returns one string from the line list.

◆ operator<<()

CStringList & mrpt::utils::CStringList::operator<< ( const std::string &  s)
inline

An alternative way of adding strings to the list.

Definition at line 66 of file CStringList.h.

◆ readFromStream()

void mrpt::utils::CStringList::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protected

◆ remove()

void mrpt::utils::CStringList::remove ( size_t  index)

Delete the element at a given position (0=first element)

◆ saveToFile()

void mrpt::utils::CStringList::saveToFile ( const std::string &  fileName) const

Save the string list to a file.

◆ set() [1/6]

void mrpt::utils::CStringList::set ( const std::string &  keyName,
const bool &  value 
)

Sets the value of a given key ("key=value"), overwritten previous value if it existed.

◆ set() [2/6]

void mrpt::utils::CStringList::set ( const std::string &  keyName,
const double &  value 
)

Sets the value of a given key ("key=value"), overwritten previous value if it existed.

◆ set() [3/6]

void mrpt::utils::CStringList::set ( const std::string &  keyName,
const float &  value 
)

Sets the value of a given key ("key=value"), overwritten previous value if it existed.

◆ set() [4/6]

void mrpt::utils::CStringList::set ( const std::string &  keyName,
const int &  value 
)

Sets the value of a given key ("key=value"), overwritten previous value if it existed.

◆ set() [5/6]

void mrpt::utils::CStringList::set ( const std::string &  keyName,
const std::string &  value 
)

Sets the value of a given key ("key=value"), overwritten previous value if it existed.

◆ set() [6/6]

void mrpt::utils::CStringList::set ( size_t  index,
const std::string &  str 
)

Overwrites an existing position with a new value (0=first elements)

See also
insert

◆ setText()

void mrpt::utils::CStringList::setText ( const std::string &  inText)

Fills the string list by parsing a single string with '\r', '
', or '\r
' characters indicatng newlines.

◆ size()

size_t mrpt::utils::CStringList::size ( ) const

Returns the number of text lines in the list.

◆ writeToStream()

void mrpt::utils::CStringList::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protected

Member Data Documentation

◆ _init_CStringList

mrpt::utils::CLASSINIT mrpt::utils::CStringList::_init_CStringList
staticprotected

Definition at line 35 of file CStringList.h.

◆ classCStringList

mrpt::utils::TRuntimeClassId mrpt::utils::CStringList::classCStringList
static

Definition at line 35 of file CStringList.h.

◆ classinfo

const mrpt::utils::TRuntimeClassId* mrpt::utils::CStringList::classinfo
static

Definition at line 35 of file CStringList.h.

◆ m_strings

std::deque<std::string> mrpt::utils::CStringList::m_strings
protected

The internal list of strings.

Definition at line 40 of file CStringList.h.




Page generated by Doxygen 1.9.7 for MRPT 1.4.0 SVN: at Tue Jun 13 13:45:58 UTC 2023