PASN_Array Class Referenceabstract

Class for ASN Array type. More...

`#include <asner.h>`

Inheritance diagram for PASN_Array:

## Public Member Functions

PINDEX | GetSize () const
PBoolean | SetSize (PINDEX newSize)
PASN_Object & | operator[] (PINDEX i) const
void | Append (PASN_Object *obj)
void | RemoveAt (PINDEX i)
void | RemoveAll ()
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | SetConstraintBounds (ConstraintType type, int lower, unsigned upper)
virtual PString | GetTypeAsString () const
| Return a string giving the type of the object. More...
virtual PINDEX | GetDataLength () const
virtual PBoolean | IsPrimitive () const
virtual PBoolean | Decode (PASN_Stream &)
virtual void | Encode (PASN_Stream &) const
virtual PASN_Object * | CreateObject () const =0
PASN_Array & | operator= (const PASN_Array &other)
Public Member Functions inherited from PASN_ConstrainedObject
PBoolean | IsConstrained () const
int | GetLowerLimit () const
unsigned | GetUpperLimit () const
PBoolean | ConstrainedLengthDecode (PPER_Stream &strm, unsigned &length)
void | ConstrainedLengthEncode (PPER_Stream &strm, unsigned length) const
PBoolean | ConstraintEncode (PPER_Stream &strm, unsigned value) const
Public Member Functions inherited from PASN_Object
PINDEX | GetObjectLength () const
PBoolean | IsExtendable () const
void | SetExtendable (PBoolean ext=true)
TagClass | GetTagClass () const
unsigned | GetTag () const
virtual void | SetTag (unsigned newTag, TagClass tagClass=DefaultTagClass)
void | SetConstraints (ConstraintType type, int value)
void | SetConstraints (ConstraintType, int lower, MaximumValueTag)
void | SetConstraints (ConstraintType, MinimumValueTag lower, unsigned upper)
void | SetConstraints (ConstraintType, MinimumValueTag lower, MaximumValueTag upper)
void | SetConstraints (ConstraintType type, int lower, unsigned upper)
virtual void | SetCharacterSet (ConstraintType ctype, const char *charSet)
virtual void | SetCharacterSet (ConstraintType ctype, unsigned firstChar, unsigned lastChar)
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` 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...
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 void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Member Functions

| PASN_Array (unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass)
| PASN_Array (const PASN_Array &other)
Protected Member Functions inherited from PASN_ConstrainedObject
| PASN_ConstrainedObject (unsigned tag, TagClass tagClass)
Protected Member Functions inherited from PASN_Object
| PASN_Object (unsigned tag, TagClass tagClass, PBoolean extend=false)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Protected Attributes

PASN_ObjectArray | array
Protected Attributes inherited from PASN_ConstrainedObject
ConstraintType | constraint
int | lowerLimit
unsigned | upperLimit
Protected Attributes inherited from PASN_Object
PBoolean | extendable
| PER extension capability. More...
TagClass | tagClass
| BER tag class. More...
unsigned | tag
| ASN object tag. More...

## Additional Inherited Members

Public Types inherited from PASN_Object
enum | TagClass { UniversalTagClass, ApplicationTagClass, ContextSpecificTagClass, PrivateTagClass, DefaultTagClass }

enum

UniversalTags {
InvalidUniversalTag, UniversalBoolean, UniversalInteger, UniversalBitString,
UniversalOctetString, UniversalNull, UniversalObjectId, UniversalObjectDescriptor,
UniversalExternalType, UniversalReal, UniversalEnumeration, UniversalEmbeddedPDV,
UniversalSequence = 16, UniversalSet, UniversalNumericString, UniversalPrintableString,
UniversalTeletexString, UniversalVideotexString, UniversalIA5String, UniversalUTCTime,
UniversalGeneralisedTime, UniversalGeneralizedTime = UniversalGeneralisedTime, UniversalGraphicString, UniversalVisibleString,
UniversalGeneralString, UniversalUniversalString, UniversalBMPString = 30
}

enum | ConstraintType { Unconstrained, PartiallyConstrained, FixedConstraint, ExtendableConstraint }
enum | MinimumValueTag { MinimumValue = INT_MIN }
enum | MaximumValueTag { MaximumValue = INT_MAX }
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 PASN_Object
static PINDEX | GetMaximumArraySize ()
static void | SetMaximumArraySize (PINDEX sz)
static PINDEX | GetMaximumStringSize ()
static void | SetMaximumStringSize (PINDEX sz)
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...

## Detailed Description

Class for ASN Array type.

## Constructor & Destructor Documentation

PASN_Array::PASN_Array | ( | unsigned | tag = `UniversalSequence`,
|  | TagClass | tagClass = `UniversalTagClass`
| ) |  |

protected

PASN_Array::PASN_Array | ( | const PASN_Array & | other | ) |

protected

## Member Function Documentation

void PASN_Array::Append | ( | PASN_Object * | obj | ) |

inline

References array.

virtual Comparison PASN_Array::Compare | ( | const PObject & | obj | ) | const

virtual

Compare the two objects and return their relative rank.

This function is usually overridden by descendent classes to yield the ranking according to the semantics of the object.

The default function is to use the `CompareObjectMemoryDirect()` function to do a byte wise memory comparison of the two objects.

Returns
  `LessThan`, `EqualTo` or `GreaterThan` according to the relative rank of the objects.

Reimplemented from PObject.

virtual PASN_Object* PASN_Array::CreateObject | ( |  | ) | const

pure virtual

Implemented in PSNMP_VarBindList.

virtual PBoolean PASN_Array::Decode | ( | PASN_Stream & |  | ) |

virtual

Implements PASN_Object.

virtual void PASN_Array::Encode | ( | PASN_Stream & |  | ) | const

virtual

Implements PASN_Object.

virtual PINDEX PASN_Array::GetDataLength | ( |  | ) | const

virtual

Implements PASN_Object.

PINDEX PASN_Array::GetSize | ( |  | ) | const

inline

References array.

virtual PString PASN_Array::GetTypeAsString | ( |  | ) | const

virtual

Return a string giving the type of the object.

Implements PASN_Object.

virtual PBoolean PASN_Array::IsPrimitive | ( |  | ) | const

virtual

Reimplemented from PASN_Object.

PASN_Array& PASN_Array::operator= | ( | const PASN_Array & | other | ) |

PASN_Object& PASN_Array::operator[] | ( | PINDEX | i | ) | const

inline

References array.

virtual void PASN_Array::PrintOn | ( | ostream & | strm | ) | const

virtual

Output the contents of the object to the stream.

The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard `operator<<` function.

The default behaviour is to print the class name.

Reimplemented from PObject.

void PASN_Array::RemoveAll | ( |  | ) |

inline

References array.

void PASN_Array::RemoveAt | ( | PINDEX | i | ) |

inline

References array.

virtual void PASN_Array::SetConstraintBounds | ( | ConstraintType | type,
|  | int | lower,
|  | unsigned | upper
| ) |  |

virtual

Reimplemented from PASN_ConstrainedObject.

PBoolean PASN_Array::SetSize | ( | PINDEX | newSize | ) |

## Member Data Documentation

PASN_ObjectArray PASN_Array::array

protected

Referenced by Append(), GetSize(), operator[](), RemoveAll(), and RemoveAt().

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

- asner.h