PTLib
Version 2.14.3
|
This is an array collection class of PString
objects.
More...
#include <pstring.h>
Public Member Functions | |
Overrides from class PObject | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. More... | |
virtual PObject * | Clone () const |
Make a complete duplicate of the array. More... | |
New functions for class | |
PINDEX | GetStringsIndex (const PString &str) const |
As for GetValuesIndex() but takes a PString argument so that literals will be automatically converted. More... | |
PString | operator[] (PINDEX index) const |
PString & | operator[] (PINDEX index) |
Retrieve a reference to the object in the array. More... | |
PINDEX | AppendString (const PString &str) |
Append a string to the array. More... | |
void | push_back (const PString &str) |
PStringArray & | operator+= (const PStringArray &array) |
Concatenate a PString or PStringArray to the array. More... | |
PStringArray & | operator+= (const PString &str) |
PStringArray & | operator+= (const char *cstr) |
PStringArray | operator+ (const PStringArray &array) |
Create a new PStringArray, and add PString or PStringArray to it a new PStringArray. More... | |
PStringArray | operator+ (const PString &str) |
char ** | ToCharArray (PCharArray *storage=NULL) const |
Create an array of C strings. More... | |
PString | ToString (char separator= ' ') const |
Create a PString concatenation of all array memebers. More... | |
![]() | |
PArray (PINDEX initialSize=0) | |
Create a new array of objects. More... | |
PString & | operator[] (PINDEX index) const |
Retrieve a reference to the object in the array. More... | |
![]() | |
PINLINE | PArrayObjects (PINDEX initialSize=0) |
Create a new array of objects. More... | |
virtual Comparison | Compare (const PObject &obj) const |
Get the relative rank of the two arrays. More... | |
virtual PINDEX | GetSize () const |
Get size of array. More... | |
virtual PBoolean | SetSize (PINDEX newSize) |
Set the size of the array in objects. 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 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... | |
virtual void | RemoveAll () |
Remove all of the elements in the collection. More... | |
![]() | |
PCollection (PINDEX initialSize=0) | |
Create a new collection. More... | |
virtual void | PrintOn (ostream &strm) const |
Print the collection on the stream. More... | |
__inline void | remove (const PObject *obj) |
__inline void | clear () |
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... | |
![]() | |
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... | |
__inline size_t | size () const |
PBoolean | SetMinSize (PINDEX minSize) |
Set the minimum size of container. More... | |
virtual PBoolean | IsEmpty () const |
Determine if the container is empty. More... | |
__inline bool | empty () const |
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... | |
![]() | |
unsigned | GetTraceContextIdentifier () const |
Get PTRACE context identifier. More... | |
void | SetTraceContextIdentifier (unsigned id) |
void | GetTraceContextIdentifier (PObject &obj) |
void | GetTraceContextIdentifier (PObject *obj) |
void | SetTraceContextIdentifier (const PObject &obj) |
void | SetTraceContextIdentifier (const PObject *obj) |
virtual | ~PObject () |
template<class CLS > | |
CLS * | CloneAs () const |
As for Clone() but converts to specified type. More... | |
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... | |
__inline const PObject * | PTraceObjectInstance () const |
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... | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. More... | |
Protected Member Functions | |
PStringArray (int dummy, const PStringArray *c) | |
![]() | |
PArray (int dummy, const PArray *c) | |
Construction | |
__inline | PStringArray (PINDEX initialSize=0) |
Create an empty PString array. More... | |
__inline | PStringArray (const BaseClass &other) |
PStringArray (PINDEX count, char const *const *strarr, PBoolean caseless=false) | |
Create a PStringArray from the array of C strings. More... | |
PStringArray (const PString &str) | |
Create a PStringArray of length one from the single string. More... | |
PStringArray (const char *cstr) | |
Create a PStringArray of length one from the single string. More... | |
PStringArray (const PStringList &list) | |
Create a PStringArray from the list of strings. More... | |
PStringArray (const PSortedStringList &list) | |
Create a PStringArray from the sorted list strings. More... | |
PStringArray (const PStringSet &set) | |
Create a PStringArray from the string set. More... | |
PStringArray (const std::vector< PString > &vec) | |
Create a PStringArray from a vector of PStrings. More... | |
PStringArray (const std::vector< std::string > &vec) | |
Create a PStringArray from a vector of std::string. More... | |
template<typename stlContainer > | |
static PStringArray | container (const stlContainer &vec) |
Create a PStringArray from an STL container. More... | |
Additional Inherited Members | |
![]() | |
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
![]() | |
static const char * | Class () |
Get the name of the class as a C string. More... | |
static __inline const PObject * | PTraceObjectInstance (const char *) |
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
Internal function caled from CompareObjectMemoryDirect() More... | |
![]() | |
PBaseArray< PObject * > * | theArray |
![]() |
This is an array 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 PAbstractArray
and PArray
classes and PDECLARE_ARRAY
macro for more information.
|
inlineprotected |
Referenced by Clone().
|
inline |
Create an empty PString array.
|
inline |
PStringArray::PStringArray | ( | PINDEX | count, |
char const *const * | strarr, | ||
PBoolean | caseless = false |
||
) |
Create a PStringArray from the array of C strings.
If count is P_MAX_INDEX then strarr is assumed to point to an array of strings where the last pointer is NULL.
count | Count of strings in array |
strarr | Array of C strings |
caseless | New strings are to be PCaselessStrings |
PStringArray::PStringArray | ( | const PString & | str | ) |
Create a PStringArray of length one from the single string.
str | Single string to convert to an array of one. |
PStringArray::PStringArray | ( | const char * | cstr | ) |
Create a PStringArray of length one from the single string.
cstr | Single string to convert to an array of one. |
PStringArray::PStringArray | ( | const PStringList & | list | ) |
Create a PStringArray from the list of strings.
list | List of strings to convert to array. |
PStringArray::PStringArray | ( | const PSortedStringList & | list | ) |
Create a PStringArray from the sorted list strings.
list | List of strings to convert to array. |
PStringArray::PStringArray | ( | const PStringSet & | set | ) |
Create a PStringArray from the string set.
set | Set of strings to convert to array. |
|
inline |
Create a PStringArray from a vector of PStrings.
References AppendString().
|
inline |
Create a PStringArray from a vector of std::string.
References AppendString().
PINDEX PStringArray::AppendString | ( | const PString & | str | ) |
Append a string to the array.
str | String to append. |
Referenced by container(), operator+=(), PStringArray(), and push_back().
|
inlinevirtual |
Make a complete duplicate of the array.
Note that all objects in the array are also cloned, so this will make a complete copy of the array.
Reimplemented from PArray< PString >.
References PStringArray().
|
inlinestatic |
Create a PStringArray from an STL container.
References AppendString().
PINDEX PStringArray::GetStringsIndex | ( | const PString & | str | ) | const |
As for GetValuesIndex()
but takes a PString argument so that literals will be automatically converted.
str | String to search for index of |
PStringArray PStringArray::operator+ | ( | const PStringArray & | array | ) |
Create a new PStringArray, and add PString or PStringArray to it a new PStringArray.
PStringArray PStringArray::operator+ | ( | const PString & | str | ) |
PStringArray& PStringArray::operator+= | ( | const PStringArray & | array | ) |
Concatenate a PString or PStringArray to the array.
|
inline |
References AppendString().
|
inline |
References AppendString().
PString PStringArray::operator[] | ( | PINDEX | index | ) | const |
index | Index position in the collection of the object. |
PString& PStringArray::operator[] | ( | PINDEX | index | ) |
Retrieve a reference to the object in the array.
If there was not an object at that ordinal position or the index was beyond the size of the array then the function will create a new one.
index
position. index | Index position in the collection of the object. |
|
inline |
References AppendString().
|
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()
.
char** PStringArray::ToCharArray | ( | PCharArray * | storage = NULL | ) | const |
PString PStringArray::ToString | ( | char | separator = ' ' | ) | const |
Create a PString concatenation of all array memebers.