NAME

ACE_Tokenizer - Tokenizer

SYNOPSIS

#include <ace/SString.h>

class ACE_Tokenizer { public: ACE_Tokenizer (LPTSTR buffer); int delimiter (TCHAR d); int delimiter_replace (TCHAR d, TCHAR replacement); int preserve_designators (TCHAR start, TCHAR stop, int strip=1); LPTSTR next (void); MAX_PRESERVES=16 }; protected: int is_delimiter ( TCHAR d, int &replace, TCHAR &r ); int is_preserve_designator (TCHAR start, TCHAR &stop, int &strip);

class Delimiter_Entry { public: TCHAR delimiter_; TCHAR replacement_; int replace_; };

private: LPTSTR buffer_; int index_;

class Preserve_Entry { public: TCHAR start_; TCHAR stop_; int strip_; }; Preserve_Entry preserves_[MAX_PRESERVES]; int preserves_index_; Delimiter_Entry delimiters_[MAX_DELIMITERS]; int delimiter_index_; };

DESCRIPTION

Tokenizes a buffer. Allows application to set delimiters and preserve designators. Does not allow special characters, yet (e.g., printf ("\\"like a quoted string\\"")).

PUBLIC MEMBERS

ACE_Tokenizer (LPTSTR buffer);

int delimiter (TCHAR d);

int delimiter_replace (TCHAR d, TCHAR replacement);

int preserve_designators (TCHAR start, TCHAR stop, int strip=1);

LPTSTR next (void);

MAX_PRESERVES=16 }; protected: int is_delimiter (
    TCHAR d,
    int &replace,
    TCHAR &r
    );

int is_preserve_designator (TCHAR start, TCHAR &stop, int &strip);

PRIVATE MEMBERS

LPTSTR buffer_;

int index_;

Preserve_Entry preserves_[MAX_PRESERVES];

int preserves_index_;

Delimiter_Entry delimiters_[MAX_DELIMITERS];

int delimiter_index_;

AUTHOR

Douglas C. Schmidt (schmidt@cs.wustl.edu)

LIBRARY

ace