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)