NAME

ACE_CString - A simple "C String" (ACE_CString) class.

SYNOPSIS


#include <ace/SString.h>


class ACE_CString
{
  public:
    ACE_CString (ACE_Allocator *allocator = 0);
    ACE_CString (const char *s, ACE_Allocator *allocator = 0);
    ACE_CString (const ACE_CString &);
    ~ACE_CString (void);
    ACE_CString (
        const char *s,
        size_t len,
        ACE_Allocator *allocator = 0
        );
    void operator= (const ACE_CString &);
    size_t length (void) const;
    char *rep (void) const;
    void operator += (const ACE_CString &);
    int strstr (const ACE_CString &s) const;
    char operator[] (size_t index) const;
    int operator== (const ACE_CString &s) const;
    int operator!= (const ACE_CString &s) const;
    void dump (void) const;
    ACE_ALLOC_HOOK_DECLARE;
  private:
    ACE_Allocator *allocator_;
    size_t len_;
    char *rep_;
};

DESCRIPTION

This is a place holder until all compilers implement the ANSI/ISO C++ standard String class. Note that we need to use this class since the ACE ACE_Map_Manager requires an object that supports the operator== and operator!=. This class uses an ACE_Allocator to allocate memory The user can make this a persistant class by providing an ACE_Allocator with a persistable memory pool

PUBLIC MEMBERS

ACE_CString (ACE_Allocator *allocator = 0);
ACE_CString (const char *s, ACE_Allocator *allocator = 0);
ACE_CString (const ACE_CString &);
~ACE_CString (void);
ACE_CString (const char *s, size_t len, ACE_Allocator *allocator = 0);
void operator= (const ACE_CString &);
size_t length (void) const;
char *rep (void) const;
void operator += (const ACE_CString &);
int strstr (const ACE_CString &s) const;
char operator[] (size_t index) const;
int operator== (const ACE_CString &s) const;
int operator!= (const ACE_CString &s) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;

PRIVATE MEMBERS

ACE_Allocator *allocator_;
size_t len_;
char *rep_;

AUTHOR

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

LIBRARY

ace