Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_SString Class Reference

A very Simple String <ACE_SString> class. This is not a general-purpose string class, and you should probably consider using <ACE_CString> is you don't understand why this class exists... More...

#include <SString.h>

Collaboration diagram for ACE_SString:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_SString (ACE_Allocator *alloc=0)
 Default constructor. More...

 ACE_SString (const char *s, ACE_Allocator *alloc=0)
 Constructor that copies <s> into dynamically allocated memory. More...

 ACE_SString (const char *s, size_t len, ACE_Allocator *alloc=0)
 Constructor that copies <len> chars of <s> into dynamically allocated memory (will NUL terminate the result). More...

 ACE_SString (const ACE_SString &)
 Copy constructor. More...

 ACE_SString (char c, ACE_Allocator *alloc=0)
 Constructor that copies <c> into dynamically allocated memory. More...

 ~ACE_SString (void)
 Default dtor. More...

char operator[] (size_t slot) const
 Return the <slot'th> character in the string (doesn't perform bounds checking). More...

char & operator[] (size_t slot)
 Return the <slot'th> character by reference in the string (doesn't perform bounds checking). More...

ACE_SString & operator= (const ACE_SString &)
 Assignment operator (does copy memory). More...

ACE_SString substring (size_t offset, ssize_t length=-1) const
 Return a substring given an offset and length, if length == -1 use rest of str return empty substring if offset or offset/length are invalid. More...

ACE_SString substr (size_t offset, ssize_t length=-1) const
 Same as substring. More...

u_long hash (void) const
 Returns a hash value for this string. More...

size_t length (void) const
 Return the length of the string. More...

void rep (char *s)
 Set the underlying pointer. Since this does not copy memory or delete existing memory use with extreme caution!!! More...

const char * rep (void) const
 Get the underlying pointer. More...

const char * fast_rep (void) const
 Get the underlying pointer. More...

const char * c_str (void) const
 Same as STL String's <c_str> and <fast_rep>. More...

int strstr (const ACE_SString &s) const
 Comparison operator that will match substrings. Returns the slot of the first location that matches, else -1. More...

int find (const ACE_SString &str, int pos=0) const
 Find <str> starting at pos. Returns the slot of the first location that matches (will be >= pos), else npos. More...

int find (const char *s, int pos=0) const
 Find <s> starting at pos. Returns the slot of the first location that matches (will be >= pos), else npos. More...

int find (char c, int pos=0) const
 Find <c> starting at pos. Returns the slot of the first location that matches (will be >= pos), else npos. More...

int rfind (char c, int pos=npos) const
 Find <c> starting at pos (counting from the end). Returns the slot of the first location that matches, else npos. More...

int operator== (const ACE_SString &s) const
 Equality comparison operator (must match entire string). More...

int operator< (const ACE_SString &s) const
 Less than comparison operator. More...

int operator> (const ACE_SString &s) const
 Greater than comparison operator. More...

int operator!= (const ACE_SString &s) const
 Inequality comparison operator. More...

int compare (const ACE_SString &s) const
 Performs a <strcmp>-style comparison. More...

void dump (void) const
 Dump the state of an object. More...


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...


Static Public Attributes

const int npos = -1
 No position constant. More...


Private Attributes

ACE_Allocatorallocator_
 Pointer to a memory allocator. More...

size_t len_
 Length of the ACE_SString (not counting the trailing '\0'). More...

char * rep_
 Pointer to data. More...


Detailed Description

A very Simple String <ACE_SString> class. This is not a general-purpose string class, and you should probably consider using <ACE_CString> is you don't understand why this class exists...

This class is optimized for efficiency, so it doesn't provide any internal locking. CAUTION: This class is only intended for use with applications that understand how it works. In particular, its destructor does not deallocate its memory when it is destroyed... We need this class since the <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.


Constructor & Destructor Documentation

ACE_SString::ACE_SString ACE_Allocator   alloc = 0
 

Default constructor.

ACE_SString::ACE_SString const char *    s,
ACE_Allocator   alloc = 0
 

Constructor that copies <s> into dynamically allocated memory.

ACE_SString::ACE_SString const char *    s,
size_t    len,
ACE_Allocator   alloc = 0
 

Constructor that copies <len> chars of <s> into dynamically allocated memory (will NUL terminate the result).

ACE_SString::ACE_SString const ACE_SString &    s
 

Copy constructor.

ACE_SString::ACE_SString char    c,
ACE_Allocator   alloc = 0
 

Constructor that copies <c> into dynamically allocated memory.

ACE_INLINE ACE_SString::~ACE_SString void   
 

Default dtor.


Member Function Documentation

ACE_INLINE const char * ACE_SString::c_str void    const
 

Same as STL String's <c_str> and <fast_rep>.

ACE_INLINE int ACE_SString::compare const ACE_SString &    s const
 

Performs a <strcmp>-style comparison.

void ACE_SString::dump void    const
 

Dump the state of an object.

ACE_INLINE const char * ACE_SString::fast_rep void    const
 

Get the underlying pointer.

ACE_INLINE int ACE_SString::find char    c,
int    pos = 0
const
 

Find <c> starting at pos. Returns the slot of the first location that matches (will be >= pos), else npos.

ACE_INLINE int ACE_SString::find const char *    s,
int    pos = 0
const
 

Find <s> starting at pos. Returns the slot of the first location that matches (will be >= pos), else npos.

ACE_INLINE int ACE_SString::find const ACE_SString &    str,
int    pos = 0
const
 

Find <str> starting at pos. Returns the slot of the first location that matches (will be >= pos), else npos.

ACE_INLINE u_long ACE_SString::hash void    const
 

Returns a hash value for this string.

ACE_INLINE size_t ACE_SString::length void    const
 

Return the length of the string.

ACE_INLINE int ACE_SString::operator!= const ACE_SString &    s const
 

Inequality comparison operator.

ACE_INLINE int ACE_SString::operator< const ACE_SString &    s const
 

Less than comparison operator.

ACE_SString & ACE_SString::operator= const ACE_SString &    s
 

Assignment operator (does copy memory).

ACE_INLINE int ACE_SString::operator== const ACE_SString &    s const
 

Equality comparison operator (must match entire string).

ACE_INLINE int ACE_SString::operator> const ACE_SString &    s const
 

Greater than comparison operator.

ACE_INLINE char & ACE_SString::operator[] size_t    slot
 

Return the <slot'th> character by reference in the string (doesn't perform bounds checking).

ACE_INLINE char ACE_SString::operator[] size_t    slot const
 

Return the <slot'th> character in the string (doesn't perform bounds checking).

ACE_INLINE const char * ACE_SString::rep void    const
 

Get the underlying pointer.

void ACE_SString::rep char *    s
 

Set the underlying pointer. Since this does not copy memory or delete existing memory use with extreme caution!!!

ACE_INLINE int ACE_SString::rfind char    c,
int    pos = npos
const
 

Find <c> starting at pos (counting from the end). Returns the slot of the first location that matches, else npos.

ACE_INLINE int ACE_SString::strstr const ACE_SString &    s const
 

Comparison operator that will match substrings. Returns the slot of the first location that matches, else -1.

ACE_INLINE ACE_SString ACE_SString::substr size_t    offset,
ssize_t    length = -1
const
 

Same as substring.

ACE_SString ACE_SString::substring size_t    offset,
ssize_t    length = -1
const
 

Return a substring given an offset and length, if length == -1 use rest of str return empty substring if offset or offset/length are invalid.


Member Data Documentation

ACE_SString::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

ACE_Allocator* ACE_SString::allocator_ [private]
 

Pointer to a memory allocator.

size_t ACE_SString::len_ [private]
 

Length of the ACE_SString (not counting the trailing '\0').

const int ACE_SString::npos = -1 [static]
 

No position constant.

char* ACE_SString::rep_ [private]
 

Pointer to data.


The documentation for this class was generated from the following files:
Generated on Sun Dec 1 11:28:06 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001