16 #if !defined(XALANDOMSTRING_HEADER_GUARD_1357924680)
17 #define XALANDOMSTRING_HEADER_GUARD_1357924680
38 XALAN_CPP_NAMESPACE_BEGIN
60 #if defined(XALAN_INLINE_INITIALIZATION)
70 const char* theString,
82 const XalanDOMChar* theString,
127 return m_data.begin();
135 return m_data.begin();
143 return m_data.empty() ==
true ? m_data.end() : m_data.end() - 1;
151 return m_data.empty() ==
true ? m_data.end() : m_data.end() - 1;
161 if (m_data.empty() ==
false)
169 const_reverse_iterator
176 if (m_data.empty() ==
false)
189 return m_data.rend();
192 const_reverse_iterator
197 return m_data.rend();
227 XalanDOMChar theChar);
234 resize(theCount, XalanDOMChar(0));
245 return theCapacity == 0 ? 0 :
size_type(theCapacity - 1);
253 m_data.reserve(theCount + 1);
261 m_data.erase(m_data.begin(), m_data.end());
278 return m_size == 0 ?
true :
false;
286 return m_data[theIndex];
294 return m_data[theIndex];
302 return m_data.at(theIndex);
310 return m_data.at(theIndex);
318 return m_data.empty() ==
true ? &s_empty : &m_data[0];
334 m_data.swap(theOther.m_data);
336 #if defined(XALAN_NO_STD_NAMESPACE)
337 ::swap(m_size, theOther.m_size);
377 const XalanDOMChar* theSource,
386 return append(theSource, theCount);
403 const char* theSource,
412 return append(theSource, theCount);
426 if (&theSource !=
this)
428 m_data = theSource.m_data;
430 m_size = theSource.m_size;
441 XalanDOMChar theChar)
449 return append(theCount, theChar);
454 iterator theFirstPosition,
455 iterator theLastPosition);
469 assert(thePosition < theSource.
length() &&
470 (theCount ==
size_type(npos) || thePosition + theCount <= theSource.
length()));
472 return append(theSource.
c_str() + thePosition, theCount);
477 const XalanDOMChar* theString,
488 const char* theString,
500 XalanDOMChar theChar);
527 return insert(thePosition1, theString.
c_str() + thePosition2, theCount);
533 const XalanDOMChar* theString,
539 const XalanDOMChar* theString)
541 return insert(thePosition, theString,
length(theString));
548 XalanDOMChar theChar);
552 iterator thePosition,
553 XalanDOMChar theChar);
557 iterator thePosition,
559 XalanDOMChar theChar);
563 iterator theInsertPosition,
564 iterator theFirstPosition,
565 iterator theLastPosition);
575 thePosition + theCount <=
length());
579 return theSubstring.
assign(*
this, thePosition, theCount);
611 return compare(thePosition1, theCount1, theString.
c_str() + thePosition2, theCount2);
615 compare(
const XalanDOMChar* theString)
const;
621 const XalanDOMChar* theString,
661 return m_data.getMemoryManager();
667 return hash(
c_str(), size());
672 const XalanDOMChar* theLHS,
674 const XalanDOMChar* theRHS,
679 const XalanDOMChar* theLHS,
680 const XalanDOMChar* theRHS)
693 const XalanDOMChar* theRHS)
700 const XalanDOMChar* theLHS,
714 length(
const XalanDOMChar* theString);
724 length(
const char* theString);
728 const XalanDOMChar* theString,
742 assert((m_data.empty() ==
true && m_size == 0) || m_size == m_data.size() - 1);
743 assert(m_data.empty() ==
true || m_data.back() == 0);
757 return m_data.empty() ==
true ? m_data.end() : m_data.end() - 1;
765 return m_data.empty() ==
true ? m_data.end() : m_data.end() - 1;
773 return m_data.begin() + thePosition;
781 return m_data.begin() + thePosition;
784 #if defined (XALAN_DEVELOPMENT)
797 static const XalanDOMChar s_empty;
815 const XalanDOMChar* theRHS)
824 const XalanDOMChar* theLHS,
838 return !(theLHS == theRHS);
845 const XalanDOMChar* theLHS,
848 return !(theLHS == theRHS);
856 const XalanDOMChar* theRHS)
858 return !(theRHS == theLHS);
871 return result += theRHS;
879 const XalanDOMChar* theRHS,
884 return result += theRHS;
891 const XalanDOMChar* theLHS,
897 return result += theRHS;
954 const XalanDOMChar* theSourceString,
956 CharVectorType& targetVector,
957 bool terminate = false);
974 const XalanDOMChar* theSourceString,
976 CharVectorType& targetVector,
978 char theSubstitutionChar);
988 #if !defined(XALAN_DEVELOPMENT)
991 const char* theSourceString,
1011 const XalanDOMChar* theSourceString,
1012 CharVectorType& targetVector,
1013 bool terminate = false);
1026 const XalanDOMChar* theSourceString,
1027 CharVectorType& targetVector,
1029 char theSubstitutionChar);
1039 #if !defined(XALAN_DEVELOPMENT)
1040 inline const CharVectorType
1043 CharVectorType theResult;
1064 CharVectorType& targetVector,
1065 bool terminate =
false)
1083 CharVectorType& targetVector,
1085 char theSubstitutionChar)
1098 #if !defined(XALAN_DEVELOPMENT)
1099 inline const CharVectorType
1102 CharVectorType theResult;
1121 const char* theSourceString,
1125 result.
assign(theSourceString, theSourceStringLength);
1145 const
char* theSourceString,
1147 XalanDOMCharVectorType& theTargetVector,
1148 bool terminate = false);
1162 const
char* theSourceString,
1163 XalanDOMCharVectorType& theTargetVector,
1164 bool terminate = false);
1182 XALAN_CPP_NAMESPACE_END
1186 #endif // !defined(XALANDOMSTRING_HEADER_GUARD_1357924680)
const_reference operator[](size_type theIndex) const
Definition: XalanDOMString.hpp:282
XalanDOMString & operator=(const char *theRHS)
Definition: XalanDOMString.hpp:111
int compare(size_type thePosition1, size_type theCount1, const XalanDOMString &theString, size_type thePosition2, size_type theCount2) const
Definition: XalanDOMString.hpp:602
#define XALAN_DEFAULT_CONSTRACTOR_MEMORY_MGR
Definition: XalanMemoryManagement.hpp:401
size_type length() const
Definition: XalanDOMString.hpp:209
XalanDOMString & operator+=(const XalanDOMString &theSource)
Definition: XalanDOMString.hpp:344
TranscodingError()
Definition: XalanDOMString.hpp:635
static MemoryManager & getDefaultXercesMemMgr()
void reserve(size_type theCount=0)
Definition: XalanDOMString.hpp:249
const_iterator end() const
Definition: XalanDOMString.hpp:147
XalanDOMString & assign(XalanDOMString &theString, const XalanDOMString &theStringToAssign)
Assign one string to another.
Definition: DOMStringHelper.hpp:2080
const value_type * const_iterator
Definition: XalanVector.hpp:92
iterator end()
Definition: XalanDOMString.hpp:139
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
XalanDOMCharVectorType::iterator iterator
Definition: XalanDOMString.hpp:55
void erase(XalanDOMString &theString)
Remove all elements from target string.
Definition: DOMStringHelper.hpp:2304
void clear()
Definition: XalanDOMString.hpp:257
XalanDOMString & substr(XalanDOMString &theSubstring, size_type thePosition=0, size_type theCount=size_type(npos)) const
Definition: XalanDOMString.hpp:569
void invariants() const
Definition: XalanDOMString.hpp:739
XalanVector< XalanDOMChar > XalanDOMCharVectorType
Definition: XalanDOMString.hpp:933
XalanDOMString & operator+=(const XalanDOMChar *theString)
Definition: XalanDOMString.hpp:350
void swap(XalanDOMString &theOther)
Definition: XalanDOMString.hpp:330
XalanDOMString & insert(size_type thePosition, const XalanDOMChar *theString)
Definition: XalanDOMString.hpp:537
value_type * iterator
Definition: XalanVector.hpp:91
XalanDOMChar value_type
Definition: XalanDOMString.hpp:49
virtual ~TranscodingError()
Definition: XalanDOMString.hpp:641
XalanDOMString & add(const XalanDOMString &theLHS, const XalanDOMString &theRHS, XalanDOMString &result)
Definition: XalanDOMString.hpp:864
XalanDOMString & operator=(const XalanDOMChar *theRHS)
Definition: XalanDOMString.hpp:105
static bool equals(const XalanDOMChar *theLHS, const XalanDOMString &theRHS)
Definition: XalanDOMString.hpp:699
XalanDOMString & append(const XalanDOMChar *theString)
Definition: XalanDOMString.hpp:481
size_type max_size() const
Definition: XalanDOMString.hpp:217
XalanDOMString & insert(size_type thePosition, const XalanDOMString &theString)
Definition: XalanDOMString.hpp:513
void resize(size_type theCount)
Definition: XalanDOMString.hpp:230
XalanDOMCharVectorType::const_reverse_iterator const_reverse_iterator
Definition: XalanDOMString.hpp:58
bool operator!=(const XalanDOMString &theLHS, const XalanDOMString &theRHS)
Definition: XalanDOMString.hpp:834
XalanVector< char > CharVectorType
Definition: XalanDOMString.hpp:935
XalanVector< char > CharVectorType
Definition: XalanDOMString.hpp:46
const_iterator getIteratorForPosition(size_type thePosition) const
Definition: XalanDOMString.hpp:777
compare(const CharVectorType &theLHS, const CharVectorType &theRHS)
Compare the contents of two strings.
const_reference at(size_type theIndex) const
Definition: XalanDOMString.hpp:298
reverse_iterator rbegin()
Definition: XalanDOMString.hpp:155
XalanDOMString & append(XalanDOMString &theString, const XalanDOMString &theStringToAppend)
Concatenate two strings.
Definition: DOMStringHelper.hpp:2127
const_iterator getBackInsertIterator() const
Definition: XalanDOMString.hpp:761
#define XALAN_DEFAULT_MEMMGR
Definition: XalanMemoryManagement.hpp:402
Definition: XalanDOMException.hpp:37
XalanDOMString & operator=(const XalanDOMString &theRHS)
Definition: XalanDOMString.hpp:99
const_reverse_iterator rbegin() const
Definition: XalanDOMString.hpp:170
#define XALAN_DOM_EXPORT
Definition: XalanDOMDefinitions.hpp:35
const XalanDOMChar & const_reference
Definition: XalanDOMString.hpp:51
~XalanDOMString()
Definition: XalanDOMString.hpp:94
int compare(const XalanDOMString &theString) const
Definition: XalanDOMString.hpp:583
XalanDOMChar & reference
Definition: XalanDOMString.hpp:50
XalanDOMString & assign(const XalanDOMChar *theSource)
Definition: XalanDOMString.hpp:364
XalanDOMString & insert(size_type thePosition1, const XalanDOMString &theString, size_type thePosition2, size_type theCount)
Definition: XalanDOMString.hpp:521
iterator getIteratorForPosition(size_type thePosition)
Definition: XalanDOMString.hpp:769
XalanDOMString & assign(size_type theCount, XalanDOMChar theChar)
Definition: XalanDOMString.hpp:439
size_type capacity() const
Definition: XalanDOMString.hpp:238
void swap(XalanVector< Type > &theLHS, XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1100
XalanVector< wchar_t > WideCharVectorType
Definition: XalanDOMString.hpp:47
int compare(size_type thePosition1, size_type theCount1, const XalanDOMString &theString) const
Definition: XalanDOMString.hpp:591
size_type hash() const
Definition: XalanDOMString.hpp:665
const char * c_str(const CharVectorType &theString)
Get the underlying representation of the target CharVectorType as a null-terminated string...
Definition: DOMStringHelper.hpp:168
XALAN_CPP_NAMESPACE_BEGIN typedef size_t size_type
Definition: XalanMap.hpp:44
const XalanDOMChar * c_str() const
Definition: XalanDOMString.hpp:314
void push_back(XalanDOMChar theChar)
Definition: XalanDOMString.hpp:503
const XalanDOMChar * data() const
Definition: XalanDOMString.hpp:322
static bool equals(const XalanDOMChar *theLHS, size_type theLHSLength, const XalanDOMChar *theRHS, size_type theRHSLength)
static bool equals(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS)
Definition: XalanDOMString.hpp:678
XalanDOMString & operator=(XalanDOMChar theRHS)
Definition: XalanDOMString.hpp:117
const_reverse_iterator_ const_reverse_iterator
Definition: XalanVector.hpp:113
iterator begin()
Definition: XalanDOMString.hpp:123
MemoryManagerType & getMemoryManager()
Definition: XalanDOMString.hpp:659
Definition: XalanDOMString.hpp:631
reverse_iterator_ reverse_iterator
Definition: XalanVector.hpp:112
reference operator[](size_type theIndex)
Definition: XalanDOMString.hpp:290
iterator getBackInsertIterator()
Definition: XalanDOMString.hpp:753
const_reverse_iterator rend() const
Definition: XalanDOMString.hpp:193
size_t size_type
Definition: XalanVector.hpp:71
reverse_iterator rend()
Definition: XalanDOMString.hpp:185
size_type size() const
Definition: XalanDOMString.hpp:201
static bool equals(const XalanDOMString &theLHS, const XalanDOMChar *theRHS)
Definition: XalanDOMString.hpp:691
#define XALAN_USES_MEMORY_MANAGER(Type)
Definition: XalanMemoryManagement.hpp:468
XalanDOMString & assign(const XalanDOMString &theSource)
Definition: XalanDOMString.hpp:422
reference at(size_type theIndex)
Definition: XalanDOMString.hpp:306
Definition: XalanDOMString.hpp:42
TranscodeToLocalCodePage(const XalanDOMChar *theSourceString, XalanDOMString::size_type theSourceStringLength, CharVectorType &targetVector, bool terminate=false)
Convert a XalanDOMChar string to C++ standard library vector, transcoding to the default local code p...
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
Definition: DOMStringHelper.hpp:277
XalanDOMString & append(const XalanDOMString &theSource)
Definition: XalanDOMString.hpp:458
bool operator==(const XalanDOMString &theLHS, const XalanDOMString &theRHS)
Definition: XalanDOMString.hpp:803
XalanDOMCharVectorType::reverse_iterator reverse_iterator
Definition: XalanDOMString.hpp:57
#define XALAN_DOM_EXPORT_FUNCTION(T)
Definition: XalanDOMDefinitions.hpp:37
const XalanDOMString TranscodeFromLocalCodePage(const char *theSourceString, XalanDOMString::size_type theSourceStringLength=XalanDOMString::npos)
Convert a string to a XalanDOMString, transcoding from the default local code page.
Definition: XalanDOMString.hpp:990
XalanDOMCharVectorType::const_iterator const_iterator
Definition: XalanDOMString.hpp:56
XalanDOMString & assign(const XalanDOMChar *theSource, size_type theCount)
Definition: XalanDOMString.hpp:376
XalanDOMString & operator+=(XalanDOMChar theChar)
Definition: XalanDOMString.hpp:356
unsigned int size_type
Definition: XalanDOMString.hpp:53
bool empty() const
Definition: XalanDOMString.hpp:274
XalanDOMString & append(const XalanDOMString &theSource, size_type thePosition, size_type theCount)
Definition: XalanDOMString.hpp:464
equals(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanDOMString::size_type theLength)
Compare the contents of two arrays for equality.
XalanVector< XalanDOMChar > XalanDOMCharVectorType
Definition: XalanDOMString.hpp:45
const_iterator begin() const
Definition: XalanDOMString.hpp:131
XalanDOMString & append(const char *theString)
Definition: XalanDOMString.hpp:492
XalanDOMString & assign(const char *theSource, size_type theCount)
Definition: XalanDOMString.hpp:402
XalanDOMString & insert(XalanDOMString &theString, XalanDOMString::size_type thePosition, const XalanDOMString &theStringToInsert)
Insert a string into another string.
Definition: DOMStringHelper.hpp:2241
XalanDOMString & assign(const char *theSource)
Definition: XalanDOMString.hpp:390
Definition: XalanDOMString.hpp:63