| PTLib
    Version 2.18.8
    | 
This template class maps the PAbstractArray to a specific element type.  
 More...
#include <array.h>


| Public Member Functions | |
| Construction | |
| PScalarArray (PINDEX initialSize=0) | |
| Construct a new dynamic array of elements of the specified type.  More... | |
| PScalarArray (T const *buffer, PINDEX length, PBoolean dynamic=true) | |
| Construct a new dynamic array of elements of the specified type.  More... | |
|  Public Member Functions inherited from PBaseArray< T > | |
| PBaseArray (PINDEX initialSize=0) | |
| Construct a new dynamic array of elements of the specified type.  More... | |
| PBaseArray (T const *buffer, PINDEX length, PBoolean dynamic=true) | |
| Construct a new dynamic array of elements of the specified type.  More... | |
| virtual PObject * | Clone () const | 
| Clone the object.  More... | |
| PBoolean | SetAt (PINDEX index, T val) | 
| Set the specific element in the array.  More... | |
| T | GetAt (PINDEX index) const | 
| Get a value from the array.  More... | |
| void | Attach (const T *buffer, PINDEX bufferSize) | 
| Attach a pointer to a static block to the base array type.  More... | |
| T * | GetPointer (PINDEX minSize=0) | 
| Get a pointer to the internal array and assure that it is of at least the specified size.  More... | |
| T | operator[] (PINDEX index) const | 
| Get a value from the array.  More... | |
| T & | operator[] (PINDEX index) | 
| Get a reference to value from the array.  More... | |
| operator T const * () const | |
| Get a pointer to the internal array.  More... | |
| PBoolean | Concatenate (const PBaseArray &array) | 
| Concatenate one array to the end of this array.  More... | |
|  Public Member Functions inherited from PAbstractArray | |
| PAbstractArray (PINDEX elementSizeInBytes, PINDEX initialSize=0) | |
| Create a new dynamic array of initalSizeelements ofelementSizeInBytesbytes each.  More... | |
| PAbstractArray (PINDEX elementSizeInBytes, const void *buffer, PINDEX bufferSizeInElements, PBoolean dynamicAllocation) | |
| Create a new dynamic array of bufferSizeInElementselements ofelementSizeInBytesbytes each.  More... | |
| virtual void | PrintOn (ostream &strm) const | 
| Output the contents of the object to the stream.  More... | |
| virtual void | ReadFrom (istream &strm) | 
| Input the contents of the object from the stream.  More... | |
| virtual Comparison | Compare (const PObject &obj) const | 
| Get the relative rank of the two arrays.  More... | |
| virtual PBoolean | SetSize (PINDEX newSize) | 
| Set the size of the array in elements.  More... | |
| void | Attach (const void *buffer, PINDEX bufferSize) | 
| Attach a pointer to a static block to the base array type.  More... | |
| void * | GetPointer (PINDEX minSize=1) | 
| Get a pointer to the internal array and assure that it is of at least the specified size.  More... | |
| const void * | GetPointer () const | 
| virtual PINDEX | GetLength () const | 
| Retrun the length in bytes for the array.  More... | |
| PBoolean | Concatenate (const PAbstractArray &array) | 
| Concatenate one array to the end of this array.  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... | |
| __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... | |
|  Public Member Functions inherited from PObject | |
| __inline unsigned | GetTraceContextIdentifier () const | 
| Get PTRACE context identifier.  More... | |
| __inline void | SetTraceContextIdentifier (unsigned id) | 
| __inline void | SetTraceContextIdentifier (const PObject &obj) | 
| __inline void | SetTraceContextIdentifier (const PObject *obj) | 
| __inline void | CopyTraceContextIdentifier (PObject &obj) const | 
| __inline void | CopyTraceContextIdentifier (PObject *obj) const | 
| virtual | ~PObject () | 
| __inline const char * | GetClass () const | 
| __inline bool | IsClass (const char *name) const | 
| __inline const PObject * | PTraceObjectInstance () const | 
| 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 PDictionaryclass.  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... | |
| Protected Member Functions | |
| virtual void | ReadElementFrom (istream &stream, PINDEX index) | 
|  Protected Member Functions inherited from PBaseArray< T > | |
| virtual void | PrintElementOn (ostream &stream, PINDEX index) const | 
| PBaseArray (PContainerReference &reference_) | |
|  Protected Member Functions inherited from PAbstractArray | |
| PBoolean | InternalSetSize (PINDEX newSize, PBoolean force) | 
| PAbstractArray (PContainerReference &reference, PINDEX elementSizeInBytes) | |
|  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... | |
| Additional Inherited Members | |
|  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 __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) | 
| static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) | 
| static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) | 
| static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) | 
| static __inline const char * | Class () | 
| static __inline const PObject * | PTraceObjectInstance (const char *) | 
| static __inline const PObject * | PTraceObjectInstance (const PObject *obj) | 
| template<typename T > | |
| static Comparison | Compare2 (T v1, T v2) | 
| Compare two types, returning Comparison type.  More... | |
| static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) | 
| Internal function caled from CompareObjectMemoryDirect()  More... | |
|  Protected Attributes inherited from PAbstractArray | |
| PINDEX | elementSize | 
| Size of an element in bytes.  More... | |
| char * | theArray | 
| Pointer to the allocated block of memory.  More... | |
| PBoolean | allocatedDynamically | 
| Flag indicating the array was allocated on the heap.  More... | |
|  Protected Attributes inherited from PContainer | |
| PContainerReference * | reference | 
|  Protected Attributes inherited from PObject | |
| unsigned | m_traceContextIdentifier | 
This template class maps the PAbstractArray to a specific element type. 
The functions in this class primarily do all the appropriate casting of types.
Note that if templates are not used the PSCALAR_ARRAY macro will simulate the template instantiation.
The following classes are instantiated automatically for the basic scalar types:
PBYTEArray PShortArray PWORDArray PIntArray PUnsignedArray PLongArray PDWORDArray | 
 | inline | 
Construct a new dynamic array of elements of the specified type.
The array is initialised to all zero bytes. Note that this may not be logically equivalent to the zero value for the type, though this would be very rare.
| initialSize | Initial number of elements in the array. | 
| 
 | inline | 
Construct a new dynamic array of elements of the specified type.
| buffer | Pointer to an array of the elements of type T. | 
| length | Number of elements pointed to by buffer. | 
| dynamic | Buffer is copied and dynamically allocated. | 
| 
 | inlineprotectedvirtual | 
Reimplemented from PAbstractArray.