summaryrefslogtreecommitdiff
path: root/ace/SString.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/SString.h')
-rw-r--r--ace/SString.h803
1 files changed, 0 insertions, 803 deletions
diff --git a/ace/SString.h b/ace/SString.h
deleted file mode 100644
index 9327b386b8b..00000000000
--- a/ace/SString.h
+++ /dev/null
@@ -1,803 +0,0 @@
-/* -*- C++ -*- */
-
-//=============================================================================
-/**
- * @file SString.h
- *
- * $Id$
- *
- * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
- */
-//=============================================================================
-
-#ifndef ACE_SSTRING_H
-#define ACE_SSTRING_H
-#include "ace/pre.h"
-
-#include "ace/ACE.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined (ACE_HAS_WCHAR)
-typedef wchar_t ACE_WSTRING_TYPE;
-#else /* ACE_HAS_WCHAR */
-typedef ACE_USHORT16 ACE_WSTRING_TYPE;
-#endif /* ACE_HAS_WCHAR */
-
-#if !defined (ACE_DEFAULT_GROWSIZE)
-#define ACE_DEFAULT_GROWSIZE 32
-#endif /* ACE_DEFAULT_GROWSIZE */
-
-// Forward decl.
-class ACE_Allocator;
-
-/**
- * @class ACE_CString
- *
- * @brief This class provides a wrapper facade for C strings.
- *
- * 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. This class is
- * optimized for efficiency, so it doesn't provide any internal
- * locking.
- * NOTE: if an instance of this class is constructed from or
- * assigned an empty string (with first element of '\0'), then it
- * is _not_ allocated new space. Instead, its internal
- * representation is set equal to a global empty string.
- * CAUTION: in cases when ACE_CString is constructed from a
- * provided buffer with the release parameter set to 0,
- * ACE_CString is not guaranteed to be '\0' terminated.
- */
-class ACE_Export ACE_CString
-{
-public:
- /// No position constant
- static const int npos;
-
- /// Default constructor.
- ACE_CString (ACE_Allocator *alloc = 0);
-
- /**
- * Constructor that copies <s> into dynamically allocated memory.
- * If <release> is non-0 then the <ACE_allocator> is responsible for
- * freeing this memory. Memory is _not_ allocated/freed if <release>
- * is 0.
- */
- ACE_CString (const char *s,
- ACE_Allocator *alloc = 0,
- int release = 1);
-
- /**
- * Constructor that copies <len> chars of <s> into dynamically
- * allocated memory (will NUL terminate the result). If <release>
- * is non-0 then the <ACE_allocator> is responsible for freeing this
- * memory. Memory is _not_ allocated/freed if <release> is 0.
- */
- ACE_CString (const char *s,
- size_t len,
- ACE_Allocator *alloc = 0,
- int release = 1);
-
- /// Copy constructor.
- ACE_CString (const ACE_CString &);
-
- /// Constructor that copies <s> into dynamically allocated memory.
- /// Probable loss of data. Please use with care.
- ACE_CString (const ACE_WSTRING_TYPE *s,
- ACE_Allocator *alloc = 0);
-
- /// Constructor that copies <c> into dynamically allocated memory.
- ACE_CString (char c, ACE_Allocator *alloc = 0);
-
- /// Deletes the memory...
- ~ACE_CString (void);
-
- /// Return the <slot'th> character in the string (doesn't perform
- /// bounds checking).
- const char &operator [] (size_t slot) const;
-
- /// Return the <slot'th> character by reference in the string
- /// (doesn't perform bounds checking).
- char &operator [] (size_t slot);
-
- /// Assignment operator (does copy memory).
- ACE_CString &operator = (const ACE_CString &);
-
- /// Copy <s> into this <ACE_CString>. Memory is _not_
- /// allocated/freed if <release> is 0.
- void set (const char *s, int release = 1);
-
- /// Copy <len> bytes of <s> (will NUL terminate the result).
- /// Memory is _not_ allocated/freed if <release> is 0.
- void set (const char *s,
- size_t len,
- int release);
-
- /// Clear this string. Memory is _not_ freed is <release> is 0.
- void clear (int release = 0);
-
- /**
- * 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.
- */
- ACE_CString substring (size_t offset, ssize_t length = -1) const;
-
- /// Same as <substring>.
- ACE_CString substr (size_t offset, ssize_t length = -1) const;
-
- /// Concat operator (copies memory).
- ACE_CString &operator += (const ACE_CString &);
-
- /// Returns a hash value for this string.
- u_long hash (void) const;
-
- /// Return the length of the string.
- size_t length (void) const;
-
- /// Get a copy of the underlying pointer.
- char *rep (void) const;
-
- /**
- * Get at the underlying representation directly!
- * _Don't_ even think about casting the result to (char *) and modifying it,
- * if it has length 0!
- */
- const char *fast_rep (void) const;
-
- /// Same as STL String's <c_str> and <fast_rep>.
- const char *c_str (void) const;
-
- /// Comparison operator that will match substrings. Returns the
- /// slot of the first location that matches, else -1.
- int strstr (const ACE_CString &s) const;
-
- /// Find <str> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (const ACE_CString &str, int pos = 0) const;
-
- /// Find <s> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (const char *s, int pos = 0) const;
-
- /// Find <c> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (char c, int pos = 0) const;
-
- /// Find <c> starting at pos (counting from the end). Returns the
- /// slot of the first location that matches, else npos.
- int rfind (char c, int pos = npos) const;
-
- /// Equality comparison operator (must match entire string).
- int operator == (const ACE_CString &s) const;
-
- /// Less than comparison operator.
- int operator < (const ACE_CString &s) const;
-
- /// Greater than comparison operator.
- int operator > (const ACE_CString &s) const;
-
- /// Inequality comparison operator.
- int operator != (const ACE_CString &s) const;
-
- /// Performs a <strcmp>-style comparison.
- int compare (const ACE_CString &s) const;
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-private:
- /// Pointer to a memory allocator.
- ACE_Allocator *allocator_;
-
- /// Length of the ACE_CString data (not counting the trailing '\0').
- size_t len_;
-
- /// Length of the ACE_CString data buffer. Keeping track of the
- /// length allows to avoid unnecessary dynamic allocations.
- size_t buf_len_;
-
- /// Pointer to data.
- char *rep_;
-
- /// Flag that indicates if we own the memory
- int release_;
-
- /// Represents the "NULL" string to simplify the internal logic.
- static char NULL_CString_;
-};
-
-ACE_Export ACE_INLINE ACE_CString operator + (const ACE_CString &,
- const ACE_CString &);
-#if !defined (ACE_LACKS_IOSTREAM_TOTALLY)
-ACE_Export ACE_OSTREAM_TYPE &operator << (ACE_OSTREAM_TYPE &, const ACE_CString &);
-#endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
-
-/**
- * @class ACE_WString
- *
- * @brief This class provides a wrapper facade for C wide strings.
- *
- * 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. This class is
- * optimized for efficiency, so it doesn't provide any internal
- * locking.
- */
-class ACE_Export ACE_WString
-{
-public:
- /// No position constant
- static const int npos;
-
- /// Default constructor.
- ACE_WString (ACE_Allocator *alloc = 0);
-
- /// Constructor that copies <s> into dynamically allocated memory.
- ACE_WString (const char *s,
- ACE_Allocator *alloc = 0);
-
- /// Constructor that copies <s> into dynamically allocated memory.
- ACE_WString (const ACE_WSTRING_TYPE *s,
- ACE_Allocator *alloc = 0);
-
-#if defined (ACE_WSTRING_HAS_USHORT_SUPPORT)
- /// Constructor that takes in a ushort16 string (mainly used by the
- /// ACE Name_Space classes)
- ACE_WString (const ACE_USHORT16 *s,
- size_t len,
- ACE_Allocator *alloc = 0);
-#endif /* ACE_WSTRING_HAS_USHORT_SUPPORT */
-
- /// Constructor that copies <len> ACE_WSTRING_TYPE's of <s> into dynamically
- /// allocated memory (will NUL terminate the result).
- ACE_WString (const ACE_WSTRING_TYPE *s,
- size_t len,
- ACE_Allocator *alloc = 0);
-
- /// Constructor that dynamically allocates memory for <len> + 1
- /// ACE_WSTRING_TYPE characters. The newly created memory is set memset to 0.
- ACE_WString (size_t len, ACE_Allocator *alloc = 0);
-
- /// Copy constructor.
- ACE_WString (const ACE_WString &s);
-
- /// Constructor that copies <c> into dynamically allocated memory.
- ACE_WString (ACE_WSTRING_TYPE c, ACE_Allocator *alloc = 0);
-
- /// Deletes the memory...
- ~ACE_WString (void);
-
- /// Return the <slot'th> character in the string (doesn't perform
- /// bounds checking).
- ACE_WSTRING_TYPE operator [] (size_t slot) const;
-
- /// Return the <slot'th> character by reference in the string
- /// (doesn't perform bounds checking).
- ACE_WSTRING_TYPE &operator [] (size_t slot);
-
- /// Assignment operator (does copy memory).
- ACE_WString &operator = (const ACE_WString &);
-
- /// Copy <s>
- void set (const ACE_WSTRING_TYPE *s);
-
- /// Copy <len> bytes of <s> (will NUL terminate the result)
- void set (const ACE_WSTRING_TYPE *s,
- size_t len);
-
- /// Clear this string.
- void clear ();
-
- /**
- * 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.
- */
- ACE_WString substring (size_t offset, ssize_t length = -1) const;
-
- /// Same as substring
- ACE_WString substr (size_t offset, ssize_t length = -1) const;
-
- /// Concat operator (does copy memory).
- ACE_WString &operator += (const ACE_WString &);
-
- /// Concat operator (does copy memory)
- ACE_WString &operator += (const ACE_WSTRING_TYPE *);
-
- /// Returns a hash value for this string.
- u_long hash (void) const;
-
- /// Return the length of the string.
- size_t length (void) const;
-
- /// Return the size of the buffer.
- size_t buffer_size(void) const;
-
- /// Gets a copy of the underlying pointer.
- ACE_WSTRING_TYPE *rep (void) const;
-
- /// Transform into a copy of the ASCII character representation.
- /// (caller must delete)
- char *char_rep (void) const;
-
- /// Transform into a copy of a USHORT16 representation (caller must
- /// delete). Note, behavior is undefined when sizeof (wchar_t) != 2.
- ACE_USHORT16 *ushort_rep (void) const;
-
- /// Get at the underlying representation directly!
- const ACE_WSTRING_TYPE *fast_rep (void) const;
-
- /// Same as STL String's <c_str> and <fast_rep>.
- const ACE_WSTRING_TYPE *c_str (void) const;
-
- /// Comparison operator that will match substrings. Returns the
- /// slot of the first location that matches, else -1.
- int strstr (const ACE_WString &s) const;
-
- /// Find <str> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (const ACE_WString &str, int pos = 0) const;
-
- /// Find <s> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (const ACE_WSTRING_TYPE *s, int pos = 0) const;
-
- /// Find <c> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (ACE_WSTRING_TYPE c, int pos = 0) const;
-
- /// Find <c> starting at pos (counting from the end). Returns the
- /// slot of the first location that matches, else npos.
- int rfind (ACE_WSTRING_TYPE c, int pos = npos) const;
-
- /// Equality comparison operator (must match entire string).
- int operator == (const ACE_WString &s) const;
-
- /// Less than comparison operator.
- int operator < (const ACE_WString &s) const;
-
- /// Greater than comparison operator.
- int operator > (const ACE_WString &s) const;
-
- /// Inequality comparison operator.
- int operator != (const ACE_WString &s) const;
-
- /// Performs a <strcmp>-style comparison.
- int compare (const ACE_WString &s) const;
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
- /// Computes the length of a "0" terminated ACE_WSTRING_TYPE *.
- static size_t strlen (const ACE_WSTRING_TYPE *);
-
- /// Traditional style strstr
- static const ACE_WSTRING_TYPE *strstr (const ACE_WSTRING_TYPE *s1,
- const ACE_WSTRING_TYPE *s2);
-
- /**
- * This method is designed for high-performance. Please use with
- * care ;-) If the current size of the string is less than <len>,
- * the string is resized to the new length. The data is zero'd
- * out after this operation.
- */
- void resize (size_t len);
-
-private:
- /**
- * This method checks the size of the buffer. If the size of the
- * buffer is not large enough the buffer will be resized. All new
- * allocated space is zero'd out after this operation.
- */
- void check_allocate (size_t len);
-
- /// Pointer to a memory allocator.
- ACE_Allocator *allocator_;
-
- /// Size of the buffer of the ACE_WString
- size_t buf_len_;
-
- /// Length of the ACE_WString.
- size_t len_;
-
- /// Pointer to data.
- ACE_WSTRING_TYPE *rep_;
-
- /// Represents the "NULL" string to simplify the internal logic.
- static ACE_WSTRING_TYPE NULL_WString_;
-};
-
-ACE_Export ACE_INLINE ACE_WString operator+ (const ACE_WString &,
- const ACE_WString &);
-#if !defined (ACE_LACKS_IOSTREAM_TOTALLY)
-ACE_Export ACE_OSTREAM_TYPE &operator << (ACE_OSTREAM_TYPE &, const ACE_WString &);
-#endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
-
-/**
- * @class ACE_SString
- *
- * @brief 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.
- */
-class ACE_Export ACE_SString
-{
-public:
- /// No position constant
- static const int npos;
-
- /// Default constructor.
- ACE_SString (ACE_Allocator *alloc = 0);
-
- /// Constructor that copies <s> into dynamically allocated memory.
- ACE_SString (const char *s, ACE_Allocator *alloc = 0);
-
- /// Constructor that copies <len> chars of <s> into dynamically
- /// allocated memory (will NUL terminate the result).
- ACE_SString (const char *s, size_t len, ACE_Allocator *alloc = 0);
-
- /// Copy constructor.
- ACE_SString (const ACE_SString &);
-
- /// Constructor that copies <c> into dynamically allocated memory.
- ACE_SString (char c, ACE_Allocator *alloc = 0);
-
- /// Default dtor.
- ~ACE_SString (void);
-
- /// Return the <slot'th> character in the string (doesn't perform
- /// bounds checking).
- char operator [] (size_t slot) const;
-
- /// Return the <slot'th> character by reference in the string
- /// (doesn't perform bounds checking).
- char &operator [] (size_t slot);
-
- /// Assignment operator (does copy memory).
- ACE_SString &operator = (const ACE_SString &);
-
- /**
- * 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
- */
- ACE_SString substring (size_t offset, ssize_t length = -1) const;
-
- /// Same as substring
- ACE_SString substr (size_t offset, ssize_t length = -1) const;
-
- /// Returns a hash value for this string.
- u_long hash (void) const;
-
- /// Return the length of the string.
- size_t length (void) const;
-
- /// Set the underlying pointer. Since this does not copy memory or
- /// delete existing memory use with extreme caution!!!
- void rep (char *s);
-
- /// Get the underlying pointer.
- const char *rep (void) const;
-
- /// Get the underlying pointer.
- const char *fast_rep (void) const;
-
- /// Same as STL String's <c_str> and <fast_rep>.
- const char *c_str (void) const;
-
- /// Comparison operator that will match substrings. Returns the
- /// slot of the first location that matches, else -1.
- int strstr (const ACE_SString &s) const;
-
- /// Find <str> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (const ACE_SString &str, int pos = 0) const;
-
- /// Find <s> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (const char *s, int pos = 0) const;
-
- /// Find <c> starting at pos. Returns the slot of the first
- /// location that matches (will be >= pos), else npos.
- int find (char c, int pos = 0) const;
-
- /// Find <c> starting at pos (counting from the end). Returns the
- /// slot of the first location that matches, else npos.
- int rfind (char c, int pos = npos) const;
-
- /// Equality comparison operator (must match entire string).
- int operator == (const ACE_SString &s) const;
-
- /// Less than comparison operator.
- int operator < (const ACE_SString &s) const;
-
- /// Greater than comparison operator.
- int operator > (const ACE_SString &s) const;
-
- /// Inequality comparison operator.
- int operator != (const ACE_SString &s) const;
-
- /// Performs a <strcmp>-style comparison.
- int compare (const ACE_SString &s) const;
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-private:
- /// Pointer to a memory allocator.
- ACE_Allocator *allocator_;
-
- /// Length of the ACE_SString (not counting the trailing '\0').
- size_t len_;
-
- /// Pointer to data.
- char *rep_;
-};
-
-#if !defined (ACE_LACKS_IOSTREAM_TOTALLY)
-ACE_Export ACE_OSTREAM_TYPE &operator << (ACE_OSTREAM_TYPE &, const ACE_SString &);
-#endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
-
-// This allows one to use W or C String based on the Unicode
-// setting
-#if defined (ACE_USES_WCHAR)
-# define ACE_TString ACE_WString
-#else /* ACE_USES_WCHAR */
-# define ACE_TString ACE_CString
-#endif /* ACE_USES_WCHAR */
-
-
-// ************************************************************
-
-/**
- * @class ACE_Tokenizer
- *
- * @brief Tokenizer
- *
- * Tokenizes a buffer. Allows application to set delimiters and
- * preserve designators. Does not allow special characters, yet
- * (e.g., printf ("\"like a quoted string\"")).
- */
-class ACE_Export ACE_Tokenizer
-{
-public:
- /**
- * \a buffer will be parsed. Notice that ACE_Tokenizer will modify
- * \a buffer if you use <code> delimiter_replace </code> or <code>
- * preserve_designators </code> to do character substitution.
- * NOTE: You should NOT pass a constant string or string literal
- * to this constructor, since ACE_Tokenizer will try to modify
- * the string.
- * \sa preserve_designators
- * \sa preserve_designators
- */
- ACE_Tokenizer (ACE_TCHAR *buffer);
-
- /**
- * \a d is a delimiter.
- * \return Returns 0 on success, -1 if there is no memory left.
- *
- * <B>Example:</B>
- * \verbatim
- char buf[30];
- ACE_OS::strcpy(buf, "William/Joseph/Hagins");
-
- ACE_Tokenizer tok (buf);
- tok.delimiter ('/');
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William/Joseph/Hagins
- Joseph/Hagins
- Hagins \endverbatim
- */
- int delimiter (ACE_TCHAR d);
-
- /**
- * \a d is a delimiter and, when found, will be replaced by
- * \a replacement.
- * \return 0 on success, -1 if there is no memory left.
- *
- * <B>Example:</B>
- * \verbatim
- ACE_Tokenizer tok ("William/Joseph/Hagins");
- tok.delimiter_replace ('/', 0);
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William
- Joseph
- Hagins \endverbatim
- */
- int delimiter_replace (ACE_TCHAR d, ACE_TCHAR replacement);
-
- /**
- * Extract string between a pair of designator characters.
- * For instance, quotes, or '(' and ')'.
- * \a start specifies the begin designator.
- * \a stop specifies the end designator.
- * \a strip If \a strip == 1, then the preserve
- * designators will be stripped from the tokens returned by next.
- * \return 0 on success, -1 if there is no memory left.
- *
- * <B>Example with strip = 0:</B>
- * \verbatim
- ACE_Tokenizer tok ("William(Joseph)Hagins");
- tok.preserve_designators ('(', ')', 0);
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William(Joseph)Hagins
- (Joseph)Hagins
- )Hagins \endverbatim
- *
- * <B>Example with strip = 1:</B>
- * \verbatim
- ACE_Tokenizer tok ("William(Joseph)Hagins");
- tok.preserve_designators ('(', ')', 1);
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William
- Joseph
- Hagins \endverbatim
- */
- int preserve_designators (ACE_TCHAR start, ACE_TCHAR stop, int strip=1);
-
- /// Returns the next token.
- ACE_TCHAR *next (void);
-
- enum {
- MAX_DELIMITERS=16,
- MAX_PRESERVES=16
- };
-
-protected:
- /// Returns 1 if <d> is a delimiter, 0 otherwise. If <d> should be
- /// replaced with <r>, <replace> is set to 1, otherwise 0.
- int is_delimiter (ACE_TCHAR d, int &replace, ACE_TCHAR &r);
-
- /**
- * If <start> is a start preserve designator, returns 1 and sets
- * <stop> to the stop designator. Returns 0 if <start> is not a
- * preserve designator.
- */
- int is_preserve_designator (ACE_TCHAR start, ACE_TCHAR &stop, int &strip);
-
- ACE_TCHAR *buffer_;
- int index_;
-
- /**
- * @class Preserve_Entry
- *
- * @brief Preserve Entry
- *
- * Defines a set of characters that designate an area that
- * should not be parsed, but should be treated as a complete
- * token. For instance, in: (this is a preserve region), start
- * would be a left paren -(- and stop would be a right paren
- * -)-. The strip determines whether the designators should be
- * removed from the token.
- */
- class Preserve_Entry
- {
- public:
- /**
- * E.g., "(".
- * E.g., ")".
- * Whether the designators should be removed from the token.
- */
- ACE_TCHAR start_;
- ACE_TCHAR stop_;
- int strip_;
- };
-
- /// The application can specify MAX_PRESERVES preserve designators.
- Preserve_Entry preserves_[MAX_PRESERVES];
-
- /// Pointer to the next free spot in preserves_.
- int preserves_index_;
-
- /**
- * @class Delimiter_Entry
- *
- * @brief Delimiter Entry
- *
- * Describes a delimiter for the tokenizer.
- */
- class Delimiter_Entry
- {
- public:
- /**
- * Most commonly a space ' '.
- * What occurrences of delimiter_ should be replaced with.
- * Whether replacement_ should be used. This should be replaced
- * with a technique that sets replacement_ = delimiter by
- * default. I'll do that next iteration.
- */
- ACE_TCHAR delimiter_;
- ACE_TCHAR replacement_;
- int replace_;
- };
-
- /// The tokenizer allows MAX_DELIMITERS number of delimiters.
- Delimiter_Entry delimiters_[MAX_DELIMITERS];
-
- /// Pointer to the next free space in delimiters_.
- int delimiter_index_;
-};
-
-// ****************************************************************
-
-/**
- * @class ACE_Auto_String_Free
- *
- * @brief Simple class to automatically de-allocate strings
- *
- * Keeps a pointer to a string and deallocates it (using
- * <ACE_OS::free>) on its destructor.
- * If you need to delete using "delete[]" the
- * ACE_Auto_Array_Ptr<char*> is your choice.
- * The class plays the same role as auto_ptr<>
- */
-class ACE_Export ACE_Auto_String_Free
-{
-public:
- ACE_EXPLICIT ACE_Auto_String_Free (char* p = 0);
- ACE_Auto_String_Free (ACE_Auto_String_Free &rhs);
- ACE_Auto_String_Free& operator= (ACE_Auto_String_Free &rhs);
- ~ACE_Auto_String_Free (void);
-
- char* operator* () const;
- char operator[] (int i) const;
- char* get (void) const;
- char* release (void);
- void reset (char* p = 0);
-
-private:
- char* p_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "ace/SString.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* ACE_SSTRING_H */