16 #ifndef TCLSTRING_H //Required for current class 19 #ifndef TCLPLUSTYPES_H 20 #include <libtclplusdatatypes.h> 36 Tcl_DStringInit(&m_String);
39 Tcl_DStringFree(&m_String);
46 Tcl_DStringInit(&m_String);
47 Tcl_DStringAppend(&m_String, pString, -1);
50 Tcl_DStringInit(&m_String);
51 Tcl_DStringAppend(&m_String, rString.c_str(), -1);
54 Tcl_DStringInit(&m_String);
55 Tcl_DStringAppend(&m_String, Tcl_DStringValue(&rString), -1);
62 Tcl_DStringInit(&m_String);
63 DoAssign(aCTCLString);
70 if (
this == &aCTCLString)
return *
this;
72 DoAssign(aCTCLString);
80 return(strcmp(Tcl_DStringValue(&m_String),
81 Tcl_DStringValue(&aCTCLString.m_String)) == 0);
83 int operator!= (
const CTCLString& aCTCLString) {
84 return !(operator==(aCTCLString));
86 int operator> (
const CTCLString& aCTCLString) {
87 return(strcmp(Tcl_DStringValue(&m_String),
88 Tcl_DStringValue(&aCTCLString.m_String)) > 0);
91 int operator< (
const CTCLString& aCTCLString) {
92 return(strcmp(Tcl_DStringValue(&m_String),
93 Tcl_DStringValue(&aCTCLString.m_String)) < 0);
96 int operator>=(
const CTCLString& aCTCLString) {
97 return (
operator>(aCTCLString) ||
operator==(aCTCLString));
99 int operator<=(
const CTCLString& aCTCLString) {
100 return (
operator<(aCTCLString) ||
operator==(aCTCLString));
105 Tcl_DString& getString()
112 void setString (
const Tcl_DString& am_String)
114 operator=(am_String);
121 CTCLString& Append (
const std::string& rString, TCLPLUS::Int_t nLength=-1) {
122 return Append(rString.c_str(), nLength);
125 return Append(Tcl_DStringValue(&rString.m_String), nLength);
127 CTCLString& Append (Tcl_DString& pString, TCLPLUS::Int_t nLength=-1) {
128 return Append(Tcl_DStringValue(&pString), nLength);
130 CTCLString& Append (
const char* pString, TCLPLUS::Int_t nLength=-1);
134 CTCLString& AppendElement (
const Tcl_DString* pRhs) {
135 return AppendElement(Tcl_DStringValue(pRhs));
138 return AppendElement(Tcl_DStringValue(&rRhs.m_String));
140 CTCLString& AppendElement (
const std::string& rRhs) {
141 return AppendElement(rRhs.c_str());
144 CTCLString& AppendElement(TCLPLUS::DFloat_t value,
const char* pFormat =
"%f");
145 CTCLString& AppendElement(
long value,
const char* pFormat =
"%i");
151 TCLPLUS::UInt_t Length ()
const ;
152 CTCLString& Truncate (TCLPLUS::UInt_t nNewLength) ;
153 TCLPLUS::Bool_t isCommand ()
const ;
157 TCLPLUS::Bool_t Match (
const char* pPattern)
const;
158 TCLPLUS::Bool_t Match (std::string& rPattern)
const {
159 return Match(rPattern.c_str());
161 TCLPLUS::Bool_t Match (
const CTCLString& rPattern)
const {
162 return Match(Tcl_DStringValue(&rPattern.m_String));
165 operator const char* ()
const {
166 return Tcl_DStringValue(&m_String);
168 operator std::string ()
const {
169 return std::string(Tcl_DStringValue(&m_String));
171 operator Tcl_DString* () {
Definition: TCLString.h:28