### ICompoundNameParser

  ICompoundNameParser is an abstract base class that converts between ICompoundName and IText.

  Use one of the concrete subclasses when you need a parser.

  Do not derive your own classes from this class.

### ICompoundNameParser - Member Functions and Data by Group

### Constructors & Destructor

Construct and destruct compound name parser objects.

~ICompoundNameParser
  Destructor.

      public:
      virtual ~ICompoundNameParser()

  Delete the object.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

ICompoundNameParser
  Construct a new ICompoundName object.

  Overload 1
  Empty constructor.

      protected:
      ICompoundNameParser()

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2
  Copy constructor.

      protected:
      ICompoundNameParser(const ICompoundNameParser&)

  This function constructs a copy of the given object.

  toCopy
    The compound name parser object to copy.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

operator =
  Assignment operator.

      protected:
      ICompoundNameParser& operator =(const ICompoundNameParser&)

  Copy the given object to another ICompoundNameParser object.

  toAssign
    The compound name parser object object to assign

Return
  A reference to this object.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Accessing the Separator

Access the separator character for the target file system.

separator
  Get separator.

      public:
      virtual UniChar separator() const = 0

  Get the character that is used to separate path name components.

Return
  A UniCode character with the path separator character for the file system.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Comparing

Compare compound name parser objects.

operator !=
  Inequality operator.

      public:
      bool operator !=(const ICompoundNameParser&) const

  Test for inequality with the given object.

  toCompare
    The compound name parser object to test for inequality.

Return
  A bool value that indicates whether the objects were equal or not.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

operator ==
  Equality operator.

      public:
      virtual bool operator ==(const ICompoundNameParser&) const

  Test for equality with the given object.

  toCompare
    The compound name parser object to test for equality.

Return
  A bool value that indicates whether the objects where equal or not.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Identifying the Type

Return information about the type of parser.

typeOf
  Get parser's type.

      protected:
      virtual IParserType typeOf() const = 0

  Get a string that uniquely identifies this parser's C++ class.

  Typically, this function simply returns the class name. When compiler RTTI support is available on all platforms, this member function will be removed.

Return
  An IParserType object with the type of the parser.

Overriding
  always

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Parsing and Formatting

Parse and format compound names according to the rules of the derived class' target file system.

formatName
  Convert ICompoundName to text.

      public:
      virtual IText formatName(const ICompoundName&) const = 0

  Convert an ICompoundName into a platform-specific text string.

  toFormat
    The ICompoundName to convert.

Return
  An IText object with the formatted name.

Overriding
  always

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

parseName
  Convert text to ICompoundName.

      public:
      virtual ICompoundName parseName(const IText&) const = 0

  Convert a platform-specific text string into an ICompoundName object.

  toParse
    The IText to convert to a compound name.

Return
  A compound name object with the parsed text.

Overriding
  always

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### ICompoundNameParser - Type Definitions

IParserType

      typedef const char * IParserType

  IParserType is used to uniquely identify a parser's C++ class.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### ICompoundNameParser - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None