NAME

ACE_SString - A very "Simple String" (ACE_SString) class.

SYNOPSIS

#include <ace/SString.h>

class ACE_SString { public: friend ACE_Export ostream &operator<< ( ostream &, const ACE_SString & ); static const int npos; ACE_SString (ACE_Allocator *alloc = 0); ACE_SString (const char *s, ACE_Allocator *alloc = 0); ACE_SString (const char *s, size_t len, ACE_Allocator *alloc = 0); ACE_SString (const ACE_SString &); ACE_SString (char c, ACE_Allocator *alloc = 0); char operator[] (size_t index) const; char &operator[] (size_t index); ACE_SString &operator= (const ACE_SString &); ACE_SString substring (size_t offset, ssize_t length = -1) const; ACE_SString substr (size_t offset, ssize_t length = -1) const; u_long hash (void) const; size_t length (void) const; void rep (char *s); const char *rep (void) const; const char *fast_rep (void) const; const char *c_str (void) const; int strstr (const ACE_SString &s) const; int find (const ACE_SString &str, int pos = 0) const; int find (const char *s, int pos = 0) const; int find (char c, int pos = 0) const; int rfind (char c, int pos = npos) const; int operator== (const ACE_SString &s) const; int operator!= (const ACE_SString &s) const; int compare (const ACE_SString &s) const; void dump (void) const; ACE_ALLOC_HOOK_DECLARE; private: ACE_Allocator *allocator_; size_t len_; char *rep_; };

DESCRIPTION

This is *not* a general-purpose string class. It is only intended for use with applications that understand how it works. In particular, it has no destructor... 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

friend ACE_Export ostream &operator<< (
    ostream &,
    const ACE_SString &
    );

static const int npos;

ACE_SString (ACE_Allocator *alloc = 0);

ACE_SString (const char *s, ACE_Allocator *alloc = 0);

ACE_SString (const char *s, size_t len, ACE_Allocator *alloc = 0);

ACE_SString (const ACE_SString &);

ACE_SString (char c, ACE_Allocator *alloc = 0);

char operator[] (size_t index) const;

char &operator[] (size_t index);

ACE_SString &operator= (const ACE_SString &);

ACE_SString substring (size_t offset, ssize_t length = -1) const;

ACE_SString substr (size_t offset, ssize_t length = -1) const;

u_long hash (void) const;

size_t length (void) const;

void rep (char *s);

const char *rep (void) const;

const char *fast_rep (void) const;

const char *c_str (void) const;

int strstr (const ACE_SString &s) const;

int find (const ACE_SString &str, int pos = 0) const;

int find (const char *s, int pos = 0) const;

int find (char c, int pos = 0) const;

int rfind (char c, int pos = npos) const;

int operator== (const ACE_SString &s) const;

int operator!= (const ACE_SString &s) const;

int compare (const ACE_SString &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