PStringList Class Reference

This is a list collection class of `PString` objects. More...

`#include <pstring.h>`

Inheritance diagram for PStringList:

## Public Member Functions

Construction
| PStringList (PINDEX count, char const *const *strarr, PBoolean caseless=false)
| Create a PStringList from the array of C strings. More...
| PStringList (const PString &str)
| Create a PStringList of length one from the single string. More...
| PStringList (const PStringArray &array)
| Create a PStringList from the array of strings. More...
| PStringList (const PSortedStringList &list)
| Create a PStringList from the sorted list of strings. More...
Overrides from class PObject
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...
Public Member Functions inherited from PList< T >
| PList ()
| Create a new, empty, list. More...
virtual PObject * | Clone () const
| Make a complete duplicate of the list. More...
T & | operator[] (PINDEX index) const
| Retrieve a reference to the object in the list. More...
iterator | begin ()
iterator | end ()
iterator | rbegin ()
iterator | rend ()
const_iterator | begin () const
const_iterator | end () const
const_iterator | rbegin () const
const_iterator | rend () const
T & | front () const
T & | back () const
void | erase (const iterator &it)
void | erase (const const_iterator &it)
Public Member Functions inherited from PAbstractList
virtual Comparison | Compare (const PObject &obj) const
| Get the relative rank of the two lists. More...
PINLINE | PAbstractList ()
| Create a new, empty, list. More...
virtual PBoolean | SetSize (PINDEX newSize)
| This function is meaningless for lists. More...
virtual PINDEX | Append (PObject *obj)
| Append a new object to the collection. More...
virtual PINDEX | Insert (const PObject &before, PObject *obj)
| Insert a new object immediately before the specified object. More...
virtual PINDEX | InsertAt (PINDEX index, PObject *obj)
| Insert a new object at the specified ordinal index. More...
virtual PBoolean | Remove (const PObject *obj)
| Remove the object from the collection. More...
virtual PObject * | RemoveAt (PINDEX index)
| Remove the object at the specified ordinal index from the collection. More...
virtual PBoolean | SetAt (PINDEX index, PObject *val)
| Set the object at the specified ordinal position to the new value. More...
virtual PBoolean | ReplaceAt (PINDEX index, PObject *val)
| Set the object at the specified ordinal position to the new value. More...
virtual PObject * | GetAt (PINDEX index) const
| Get the object at the specified ordinal position. More...
virtual PINDEX | GetObjectsIndex (const PObject *obj) const
| Search the collection for the specific instance of the object. More...
virtual PINDEX | GetValuesIndex (const PObject &obj) const
| Search the collection for the specified value of the object. More...
Public Member Functions inherited from PCollection
| PCollection (PINDEX initialSize=0)
| Create a new collection. More...
virtual void | PrintOn (ostream &strm) const
| Print the collection on the stream. More...
virtual void | RemoveAll ()
| Remove all of the elements in the collection. More...
PINLINE void | AllowDeleteObjects (PBoolean yes=true)
| Allow or disallow the deletion of the objects contained in the collection. More...
void | DisallowDeleteObjects ()
| Disallow the deletion of the objects contained in the collection. More...
Public Member Functions inherited from PContainer
| PContainer (PINDEX initialSize=0)
| Create a new unique container. More...
| PContainer (const PContainer &cont)
| Create a new refernce to container. More...
PContainer & | operator= (const PContainer &cont)
| Assign one container reference to another. More...
virtual | ~PContainer ()
| Destroy the container class. More...
virtual PINDEX | GetSize () const
| Get the current size of the container. More...
PBoolean | SetMinSize (PINDEX minSize)
| Set the minimum size of container. More...
virtual PBoolean | IsEmpty () const
| Determine if the container is empty. More...
PBoolean | IsUnique () const
| Determine if container is unique reference. More...
virtual PBoolean | MakeUnique ()
| Make this instance to be the one and only reference to the container contents. More...
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...

## Operations

PINDEX | AppendString (const PString &str)
| Append a string to the list. More...
PINDEX | InsertString (const PString &before, const PString &str)
| Insert a string into the list. More...
PINDEX | GetStringsIndex (const PString &str) const
| Get the index of the string with the specified value. More...
PStringList & | operator+= (const PStringList &list)
| Concatenate a PString or PStringArray to the list. More...
PStringList & | operator+= (const PString &str)
PStringList | operator+ (const PStringList &array)
| Create a new PStringList, and add PString or PStringList to it a new PStringList. More...
PStringList | operator+ (const PString &str)
template<typename stlContainer >
static PStringList | container (const stlContainer &vec)
| Create a PStringArray from an STL container. More...

## Additional Inherited Members

Public Types inherited from PList< T >
typedef T | value_type
Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static const char * | Class ()
| Get the name of the class as a C string. More...
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
Protected Types inherited from PAbstractList
typedef PListElement | Element
Protected Member Functions inherited from PList< T >
| PList (int dummy, const PList *c)
Protected Member Functions inherited from PAbstractList
PINLINE PObject & | GetReferenceAt (PINDEX index) const
| Get the object at the specified ordinal position. More...
PBoolean | SetCurrent (PINDEX index, PListElement *&lastElement) const
| Move the internal "cursor" to the index position specified. More...
PObject * | RemoveElement (PListElement *element)
Protected Member Functions inherited from PCollection
PINLINE | PCollection (int dummy, const PCollection *coll)
| Constructor used in support of the Clone() function. More...
Protected Member Functions inherited from PContainer
| PContainer (int dummy, const PContainer *cont)
| Constructor used in support of the Clone() function. More...
| PContainer (PContainerReference &reference)
| Construct using static PContainerReference. More...
virtual void | DestroyContents ()=0
| Destroy the container contents. More...
virtual void | AssignContents (const PContainer &c)
| Copy the container contents. More...
void | CopyContents (const PContainer &c)
| Copy the container contents. More...
void | CloneContents (const PContainer *src)
| Create a duplicate of the container contents. More...
void | Destruct ()
| Internal function called from container destructors. More...
virtual void | DestroyReference ()
| Destroy the PContainerReference instance. More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...
Protected Attributes inherited from PAbstractList
PListInfo * | info
Protected Attributes inherited from PContainer
PContainerReference * | reference

## Detailed Description

This is a list collection class of `PString` objects.

It has all the usual functions for a collection, with the object types set to `PString` pointers.

In addition some addition functions are added that take a const `PString` reference instead of a pointer as most standard collection functions do. This is more convenient for when string expressions are used as parameters to function in the collection.

See the `PAbstractList` and `PList` classes and `PDECLARE_LIST` macro for more information.

## Constructor & Destructor Documentation

PStringList::PStringList | ( | PINDEX | count,
|  | char const *const * | strarr,
|  | PBoolean | caseless = `false`
| ) |  |

Create a PStringList from the array of C strings.

Parameters

  count | Count of strings in array
  strarr | Array of C strings
  caseless | New strings are to be PCaselessStrings

PStringList::PStringList | ( | const PString & | str | ) |

Create a PStringList of length one from the single string.

Parameters

  str | Single string to convert to a list of one.

PStringList::PStringList | ( | const PStringArray & | array | ) |

Create a PStringList from the array of strings.

Parameters

  array | Array of strings to convert to list

PStringList::PStringList | ( | const PSortedStringList & | list | ) |

Create a PStringList from the sorted list of strings.

Parameters

  list | List of strings to convert to list.

## Member Function Documentation

PINDEX PStringList::AppendString | ( | const PString & | str | ) |

Append a string to the list.

Parameters

  str | String to append.

Referenced by container().

template<typename stlContainer >

static PStringList PStringList::container | ( | const stlContainer & | vec | ) |

inline static

Create a PStringArray from an STL container.

References AppendString().

PINDEX PStringList::GetStringsIndex | ( | const PString & | str | ) | const

Get the index of the string with the specified value.

A linear search of list is performed to find the string value.

Parameters

  str | String value to search for.

PINDEX PStringList::InsertString | ( | const PString & | before,
|  | const PString & | str
| ) |  |

Insert a string into the list.

Parameters

  before | String to insert before.
  str | String to insert.

PStringList PStringList::operator+ | ( | const PStringList & | array | ) |

Create a new PStringList, and add PString or PStringList to it a new PStringList.

Returns
  A new PStringList with the additional elements(s)

PStringList PStringList::operator+ | ( | const PString & | str | ) |

PStringList& PStringList::operator+= | ( | const PStringList & | list | ) |

Concatenate a PString or PStringArray to the list.

Returns
  The PStringArray with the new items appended

PStringList& PStringList::operator+= | ( | const PString & | str | ) |

virtual void PStringList::ReadFrom | ( | istream & | strm | ) |

virtual

Input the contents of the object from the stream.

This is primarily used by the standard `operator>>` function.

The default behaviour reads '\n' separated strings until `!strm.good()`.

Reimplemented from PObject.

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

- pstring.h