PASN_Set Class Reference

Class for ASN Set type. More...

`#include <asner.h>`

Inheritance diagram for PASN_Set:

## Public Member Functions

| PASN_Set (unsigned tag=UniversalSet, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, PBoolean extend=false, unsigned nExtend=0)
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PString | GetTypeAsString () const
| Return a string giving the type of the object. More...
Public Member Functions inherited from PASN_Sequence
| PASN_Sequence (unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, PBoolean extend=false, unsigned nExtend=0)
| PASN_Sequence (const PASN_Sequence &other)
PASN_Sequence & | operator= (const PASN_Sequence &other)
PINDEX | GetSize () const
PBoolean | SetSize (PINDEX newSize)
PASN_Object & | operator[] (PINDEX i) const
PBoolean | HasOptionalField (PINDEX opt) const
void | IncludeOptionalField (PINDEX opt)
void | RemoveOptionalField (PINDEX opt)
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 PINDEX | GetDataLength () const
virtual PBoolean | IsPrimitive () const
virtual PBoolean | Decode (PASN_Stream &)
virtual void | Encode (PASN_Stream &) const
PBoolean | PreambleDecode (PASN_Stream &strm)
void | PreambleEncode (PASN_Stream &strm) const
PBoolean | KnownExtensionDecode (PASN_Stream &strm, PINDEX fld, PASN_Object &field)
void | KnownExtensionEncode (PASN_Stream &strm, PINDEX fld, const PASN_Object &field) const
PBoolean | UnknownExtensionsDecode (PASN_Stream &strm)
void | UnknownExtensionsEncode (PASN_Stream &strm) const
PBoolean | PreambleDecodeBER (PBER_Stream &strm)
void | PreambleEncodeBER (PBER_Stream &strm) const
PBoolean | KnownExtensionDecodeBER (PBER_Stream &strm, PINDEX fld, PASN_Object &field)
void | KnownExtensionEncodeBER (PBER_Stream &strm, PINDEX fld, const PASN_Object &field) const
PBoolean | UnknownExtensionsDecodeBER (PBER_Stream &strm)
void | UnknownExtensionsEncodeBER (PBER_Stream &strm) const
PBoolean | PreambleDecodePER (PPER_Stream &strm)
void | PreambleEncodePER (PPER_Stream &strm) const
PBoolean | KnownExtensionDecodePER (PPER_Stream &strm, PINDEX fld, PASN_Object &field)
void | KnownExtensionEncodePER (PPER_Stream &strm, PINDEX fld, const PASN_Object &field) const
PBoolean | UnknownExtensionsDecodePER (PPER_Stream &strm)
void | UnknownExtensionsEncodePER (PPER_Stream &strm) const
virtual PBoolean | PreambleDecodeXER (PXER_Stream &strm)
virtual void | PreambleEncodeXER (PXER_Stream &strm) const
virtual PBoolean | KnownExtensionDecodeXER (PXER_Stream &strm, PINDEX fld, PASN_Object &field)
virtual void | KnownExtensionEncodeXER (PXER_Stream &strm, PINDEX fld, const PASN_Object &field) const
virtual PBoolean | UnknownExtensionsDecodeXER (PXER_Stream &strm)
virtual void | UnknownExtensionsEncodeXER (PXER_Stream &strm) 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 | SetConstraintBounds (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 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...

## 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...
Protected Member Functions inherited from PASN_Sequence
PBoolean | NoExtensionsToDecode (PPER_Stream &strm)
PBoolean | NoExtensionsToEncode (PPER_Stream &strm)
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 inherited from PASN_Sequence
PASN_ObjectArray | fields
PASN_BitString | optionMap
int | knownExtensions
int | totalExtensions
PASN_BitString | extensionMap
PINDEX | endBasicEncoding
Protected Attributes inherited from PASN_Object
PBoolean | extendable
| PER extension capability. More...
TagClass | tagClass
| BER tag class. More...
unsigned | tag
| ASN object tag. More...

## Detailed Description

Class for ASN Set type.

## Constructor & Destructor Documentation

PASN_Set::PASN_Set | ( | unsigned | tag = `UniversalSet`,
|  | TagClass | tagClass = `UniversalTagClass`,
|  | unsigned | nOpts = `0`,
|  | PBoolean | extend = `false`,
|  | unsigned | nExtend = `0`
| ) |  |

## Member Function Documentation

virtual PObject* PASN_Set::Clone | ( |  | ) | const

virtual

Create a copy of the class on the heap.

The exact semantics of the descendent class determine what is required to make a duplicate of the instance. Not all classes can even do a clone operation.

The main user of the clone function is the `PDictionary` class as it requires copies of the dictionary keys.

The default behaviour is for this function to assert.

Returns
  pointer to new copy of the class instance.

Reimplemented from PASN_Sequence.

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

virtual

Return a string giving the type of the object.

Reimplemented from PASN_Sequence.

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

- asner.h