//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // // STRINGS // //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #if !defined(__XSTRINGWS_CPP__) #define __XSTRINGWS_CPP__ #include "XToolsCommon.h" #include "XStringWArray.h" const XStringWArray NullXStrings; XStringWArray::XStringWArray() : XStringWArraySuper() { } //------------------------------------------------------------------------------------------------- // //------------------------------------------------------------------------------------------------- void XStringWArray::AddStrings(const wchar_t *Val1, ...) { va_list va; const wchar_t *p; { XStringW* newS = new XStringW; newS->takeValueFrom(Val1); AddReference(newS, true); } va_start(va, Val1); p = VA_ARG(va, const wchar_t *); while ( p != nullptr ) { XStringW* newS = new XStringW; newS->takeValueFrom(Val1); AddReference(newS, true); p = VA_ARG(va, const wchar_t *); } va_end(va); } XStringW XStringWArray::ConcatAll(XStringW Separator, XStringW Prefix, XStringW Suffix) const { xsize i; XStringW s; if ( size() > 0 ) { s = Prefix; s += ElementAt(0); for ( i=1 ; i