PString
objects, keyed by another string.
More...
#include <pstring.h>
Inheritance diagram for PStringToString:
Public Member Functions | |
char ** | ToCharArray (bool withEqualSign, PCharArray *storage=NULL) const |
Create an array of C strings. | |
Construction | |
PStringToString (PINDEX count, const Initialiser *init, PBoolean caselessKeys=false, PBoolean caselessValues=false) | |
Initialise the string dictionary of strings from the static array. | |
Overrides from class PObject | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. | |
Classes | |
struct | Initialiser |
Structure for static array initialiser for class. More... |
PString
objects, keyed by another string.
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 PAbstractDictionary
and PStringDictionary
classes and PDECLARE_DICTIONARY
and PDECLARE_STRING_DICTIONARY
macros for more information.
PStringToString::PStringToString | ( | PINDEX | count, | |
const Initialiser * | init, | |||
PBoolean | caselessKeys = false , |
|||
PBoolean | caselessValues = false | |||
) |
Initialise the string dictionary of strings from the static array.
count | Count of strings in initialiser array |
init | Array of Initialiser structures |
caselessKeys | New keys are to be PCaselessStrings |
caselessValues | New values are to be PCaselessStrings |
virtual void PStringToString::ReadFrom | ( | istream & | strm | ) | [virtual] |
char** PStringToString::ToCharArray | ( | bool | withEqualSign, | |
PCharArray * | storage = NULL | |||
) | const |
Create an array of C strings.
If withEqualSign is true then array is GetSize()+1 strings of the form key=value. If false then the array is GetSize()*2+1 strings where consecutive pointers are the key and option respecitively of each entry in the dictionary.
If storage is NULL then this returns a single pointer that must be disposed of using free(). Note that each of the strings are part of the same memory allocation so only one free() is required.
If storage is not null then that is used to allocate the memory.