3#ifdef __COMPILE_StringList__
4 #define THIS_NAME __szStringList_cpp__
5 #define THIS_VALUE __T("dcl/__LIST.cpp/String")
6 #define LIST_T StringList
7 #define ELEMENT_T String
9 #define CONST_ELEMENT_REF const String&
10 #define HAVE_CONSTRUCTOR_ELEMENT 1
11#elif defined(__COMPILE_ByteStringList__)
12 #define THIS_NAME __szByteStringList_cpp__
13 #define THIS_VALUE __T("dcl/__LIST.cpp/ByteString")
14 #define LIST_T ByteStringList
15 #define ELEMENT_T ByteString
16 #define ELEMENT_T_CAST
17 #define CONST_ELEMENT_REF const ByteString&
18 #define HAVE_CONSTRUCTOR_ELEMENT 1
19#elif defined(__COMPILE_PointerList__)
20 #define THIS_NAME __szPointerList_cpp__
21 #define THIS_VALUE __T("dcl/__LIST.cpp/void*")
22 #define LIST_T PointerList
23 #define ELEMENT_T void*
24 #define ELEMENT_T_CAST (void*)
25 #define CONST_ELEMENT_REF const void*
26 #define HAVE_CONSTRUCTOR_ELEMENT 0
29#if __DCL_HAVE_THIS_FILE__
30 static const char_t THIS_NAME[] = THIS_VALUE;
32 #define __THIS_FILE__ THIS_NAME
35#if __DCL_HAVE_ALLOC_DEBUG
36 #undef __DCL_ALLOC_LEVEL
37 #define __DCL_ALLOC_LEVEL __DCL_ALLOC_INTERNAL
46 StringBuilder
r =
__T(
"{");
47 for (ConstIterator it =
begin(); it !=
end(); it++)
51#ifdef __COMPILE_StringList__
53 r += String::escape((*it), (*it).length());
55#elif defined(__COMPILE_ByteStringList__)
57 r += String::tryString((*it), 8);
59#elif defined(__COMPILE_PointerList__)
60 r.format(
__T(
"%p"), (*it));
62 r += (*it).toString();
124#if __DCL_HAVE_ALLOC_DEBUG
128#if HAVE_CONSTRUCTOR_ELEMENT
129 new(&(pNode->
data)) ELEMENT_T;
132#if __DCL_HAVE_ALLOC_DEBUG
133#define new __DCL_DEBUG_NEW
136 pNode->
data = ELEMENT_T_CAST _element;
143#if HAVE_CONSTRUCTOR_ELEMENT
144 _pNode->
data.~ELEMENT_T();
166 for(; _first != _last; _first++)
176 for (; it !=
end(); it++)
192 pNode = pNode->
pNext;
227 ELEMENT_T
result = *(--it);
255 _other.
__size -= nMoveCount;
257 move(_pos, _otherFirst, _otherLast);
264 for(; _first != _last; _first++)
269#if __DCL_HAVE_THIS_FILE__
271 #define __THIS_FILE__ __T(__FILE__)
279#undef CONST_ELEMENT_REF
280#undef HAVE_CONSTRUCTOR_ELEMENT
#define __DCL_ASSERT(expr)
#define IMPLEMENT_CLASSINFO(class_name, base_class_name)
ListNode * createNode(CONST_ELEMENT_REF _element)
void move(Iterator posTo, Iterator _first, Iterator _last)
void destroyNode(ListNode *_pNode)
void splice(Iterator _pos, LIST_T &_other, Iterator _otherFirst, Iterator _otherLast)
ConstIterator end() const
const LIST_T & operator=(const LIST_T &_src)
Iterator find(CONST_ELEMENT_REF _element)
Iterator erase(Iterator _pos)
ConstIterator begin() const
Iterator insert(Iterator _pos, CONST_ELEMENT_REF _element)
virtual String toString() const