# PASN_ConstrainedString Class Reference

Base class for ASN String types. More...

`#include <asner.h>`

Inheritance diagram for PASN_ConstrainedString:

List of all members.

## Public Member Functions

PASN_ConstrainedString & | operator= (const char *str)
PASN_ConstrainedString & | operator= (const PString &str)
| operator const PString & () const
const PString & | GetValue () const
void | SetValue (const char *v)
void | SetValue (const PString &v)
char | operator[] (PINDEX idx) const
void | SetCharacterSet (ConstraintType ctype, const char *charSet)
void | SetCharacterSet (ConstraintType ctype, unsigned firstChar=0, unsigned lastChar=255)
void | SetCharacterSet (const char *charSet, PINDEX size, ConstraintType ctype)
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank.
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream.
virtual void | SetConstraintBounds (ConstraintType type, int lower, unsigned upper)
virtual PINDEX | GetDataLength () const
virtual PBoolean | Decode (PASN_Stream &)
virtual void | Encode (PASN_Stream &) const
PBoolean | DecodeBER (PBER_Stream &strm, unsigned len)
void | EncodeBER (PBER_Stream &strm) const
PBoolean | DecodePER (PPER_Stream &strm)
void | EncodePER (PPER_Stream &strm) const

## Protected Member Functions

| PASN_ConstrainedString (const char *canonicalSet, PINDEX setSize, unsigned tag, TagClass tagClass)

## Protected Attributes

PString | value
PCharArray | characterSet
const char * | canonicalSet
PINDEX | canonicalSetSize
unsigned | canonicalSetBits
unsigned | charSetUnalignedBits
unsigned | charSetAlignedBits

## Detailed Description

Base class for ASN String types.

## Constructor & Destructor Documentation

PASN_ConstrainedString::PASN_ConstrainedString | ( | const char * | canonicalSet,
|  | PINDEX | setSize,
|  | unsigned | tag,
|  | TagClass | tagClass |
| ) |  |  | `[protected]`

## Member Function Documentation

virtual Comparison PASN_ConstrainedString::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 PBoolean PASN_ConstrainedString::Decode | ( | PASN_Stream & |  | ) | `[virtual]`

Implements PASN_Object.

PBoolean PASN_ConstrainedString::DecodeBER | ( | PBER_Stream & | strm,
|  | unsigned | len |
| ) |  |  |

PBoolean PASN_ConstrainedString::DecodePER | ( | PPER_Stream & | strm | ) |

virtual void PASN_ConstrainedString::Encode | ( | PASN_Stream & |  | ) | const`[virtual]`

Implements PASN_Object.

void PASN_ConstrainedString::EncodeBER | ( | PBER_Stream & | strm | ) | const

void PASN_ConstrainedString::EncodePER | ( | PPER_Stream & | strm | ) | const

virtual PINDEX PASN_ConstrainedString::GetDataLength | ( |  | ) | const`[virtual]`

Implements PASN_Object.

const PString& PASN_ConstrainedString::GetValue | ( |  | ) | const`[inline]`

PASN_ConstrainedString::operator const PString & | ( |  | ) | const`[inline]`

PASN_ConstrainedString& PASN_ConstrainedString::operator= | ( | const PString & | str | ) | `[inline]`

PASN_ConstrainedString& PASN_ConstrainedString::operator= | ( | const char * | str | ) |

char PASN_ConstrainedString::operator[] | ( | PINDEX | idx | ) | const`[inline]`

virtual void PASN_ConstrainedString::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_ConstrainedString::SetCharacterSet | ( | const char * | charSet,
|  | PINDEX | size,
|  | ConstraintType | ctype |
| ) |  |  |

void PASN_ConstrainedString::SetCharacterSet | ( | ConstraintType | ctype,
|  | unsigned | firstChar = `0`,
|  | unsigned | lastChar = `255` |
| ) |  |  |

void PASN_ConstrainedString::SetCharacterSet | ( | ConstraintType | ctype,
|  | const char * | charSet |
| ) |  |  |

virtual void PASN_ConstrainedString::SetConstraintBounds | ( | ConstraintType | type,
|  | int | lower,
|  | unsigned | upper |
| ) |  |  | `[virtual]`

Reimplemented from PASN_ConstrainedObject.

void PASN_ConstrainedString::SetValue | ( | const PString & | v | ) | `[inline]`

void PASN_ConstrainedString::SetValue | ( | const char * | v | ) | `[inline]`

## Member Data Documentation

const char* PASN_ConstrainedString::canonicalSet `[protected]`

unsigned PASN_ConstrainedString::canonicalSetBits `[protected]`

PINDEX PASN_ConstrainedString::canonicalSetSize `[protected]`

PCharArray PASN_ConstrainedString::characterSet `[protected]`

unsigned PASN_ConstrainedString::charSetAlignedBits `[protected]`

unsigned PASN_ConstrainedString::charSetUnalignedBits `[protected]`

PString PASN_ConstrainedString::value `[protected]`

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

- asner.h