# PASN_BMPString Class Reference

Class for ASN BMP (16 bit) String type. More...

`#include <asner.h>`

Inheritance diagram for PASN_BMPString:

List of all members.

## Public Member Functions

| PASN_BMPString (const char *str=NULL)
| PASN_BMPString (const PWCharArray &wstr)
| PASN_BMPString (unsigned tag, TagClass tagClass)
| PASN_BMPString (const PASN_BMPString &other)
PASN_BMPString & | operator= (const PASN_BMPString &other)
PASN_BMPString & | operator= (const char *v)
PASN_BMPString & | operator= (const PString &v)
PASN_BMPString & | operator= (const PWCharArray &v)
| operator PString () const
| operator PWCharArray () const
PString | GetValue () const
void | GetValue (PWCharArray &v) const
void | SetValue (const char *v)
void | SetValue (const PString &v)
void | SetValue (const PWCharArray &v)
void | SetValue (const PASN_BMPString &v)
void | SetValueRaw (const PWCharArray &v)
void | SetValueRaw (const wchar_t *val, PINDEX len)
void | SetCharacterSet (ConstraintType ctype, const char *charSet)
void | SetCharacterSet (ConstraintType ctype, const PWCharArray &charSet)
void | SetCharacterSet (ConstraintType ctype, unsigned firstChar, unsigned lastChar)
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank.
virtual PObject * | Clone () const
| Create a copy of the class on the heap.
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream.
virtual PString | GetTypeAsString () const
| Return a string giving the type of the object.
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

void | Construct ()
PBoolean | IsLegalCharacter (WORD ch)

## Protected Attributes

PWCharArray | value
PWCharArray | characterSet
wchar_t | firstChar
wchar_t | lastChar
unsigned | charSetUnalignedBits
unsigned | charSetAlignedBits

## Detailed Description

Class for ASN BMP (16 bit) String type.

## Constructor & Destructor Documentation

PASN_BMPString::PASN_BMPString | ( | const char * | str = `NULL` | ) |

PASN_BMPString::PASN_BMPString | ( | const PWCharArray & | wstr | ) |

PASN_BMPString::PASN_BMPString | ( | unsigned | tag,
|  | TagClass | tagClass |
| ) |  |  |

PASN_BMPString::PASN_BMPString | ( | const PASN_BMPString & | other | ) |

## Member Function Documentation

virtual PObject* PASN_BMPString::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 PObject.

virtual Comparison PASN_BMPString::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.

void PASN_BMPString::Construct | ( |  | ) | `[protected]`

virtual PBoolean PASN_BMPString::Decode | ( | PASN_Stream & |  | ) | `[virtual]`

Implements PASN_Object.

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

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

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

Implements PASN_Object.

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

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

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

Implements PASN_Object.

virtual PString PASN_BMPString::GetTypeAsString | ( |  | ) | const`[virtual]`

Return a string giving the type of the object.

Implements PASN_Object.

void PASN_BMPString::GetValue | ( | PWCharArray & | v | ) | const`[inline]`

PString PASN_BMPString::GetValue | ( |  | ) | const`[inline]`

PBoolean PASN_BMPString::IsLegalCharacter | ( | WORD | ch | ) | `[protected]`

PASN_BMPString::operator PString | ( |  | ) | const`[inline]`

PASN_BMPString::operator PWCharArray | ( |  | ) | const`[inline]`

PASN_BMPString& PASN_BMPString::operator= | ( | const PWCharArray & | v | ) |

PASN_BMPString& PASN_BMPString::operator= | ( | const PString & | v | ) | `[inline]`

PASN_BMPString& PASN_BMPString::operator= | ( | const char * | v | ) | `[inline]`

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

virtual void PASN_BMPString::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_BMPString::SetCharacterSet | ( | ConstraintType | ctype,
|  | unsigned | firstChar,
|  | unsigned | lastChar |
| ) |  |  |

void PASN_BMPString::SetCharacterSet | ( | ConstraintType | ctype,
|  | const PWCharArray & | charSet |
| ) |  |  |

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

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

void PASN_BMPString::SetValue | ( | const PWCharArray & | v | ) | `[inline]`

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

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

void PASN_BMPString::SetValueRaw | ( | const wchar_t * | val,
|  | PINDEX | len |
| ) |  |  |

void PASN_BMPString::SetValueRaw | ( | const PWCharArray & | v | ) | `[inline]`

## Member Data Documentation

PWCharArray PASN_BMPString::characterSet `[protected]`

unsigned PASN_BMPString::charSetAlignedBits `[protected]`

unsigned PASN_BMPString::charSetUnalignedBits `[protected]`

wchar_t PASN_BMPString::firstChar `[protected]`

wchar_t PASN_BMPString::lastChar `[protected]`

PWCharArray PASN_BMPString::value `[protected]`

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

- asner.h