6 #ifndef CMR_BASE_LIST_INCLUDED
7 #define CMR_BASE_LIST_INCLUDED
14 struct BaseListNodeRoot;
41 operator bool ()
const;
67 Byte* get_data()
const;
72 Dummy& get_dummy()
const;
76 bool operator==(
const iterator& iter)
const;
77 bool operator!=(
const iterator& iter)
const;
105 operator bool ()
const;
137 const Byte* get_data()
const;
138 const Dummy& get_dummy()
const;
142 const BaseListNode* node_;
184 bool find(
const Byte* value, FunctionComparator cmor)
const;
185 bool find(FunctionFilter filter)
const;
186 int compare(
const BaseList& l, FunctionComparator cmor)
const;
189 BaseListNodeRoot* allocate_root_node_();
191 void deallocate_node_(BaseListNodeRoot* node);
192 void deallocate_node_(BaseListNode* node, FunctionDestructor d);
194 void clear(FunctionDestructor d);
199 bool remove_at(
size_t i, FunctionDestructor d);
204 BaseList&
remove(
const Byte* v, FunctionComparator cmor, FunctionDestructor d);
206 BaseList& sort(FunctionComparator cmor);
208 BaseList& unique(FunctionComparator cmor, FunctionDestructor d);
209 BaseList& remove_ptr(
const Byte* v, FunctionDestructor d);
210 BaseList& remove_if(FunctionFilter filter, FunctionDestructor d);
222 static void move_before(iterator pos, iterator i);
223 static void move_after(iterator pos, iterator i);
224 static void transfer(iterator pos, iterator first, iterator last);
227 static int comparator_(
const Byte* v1,
const Byte* v2,
size_t size);
228 static void constructor_(
Byte* data,
const Byte* value,
size_t size);
229 static void destructor_(
Byte* data);
232 BaseListNodeRoot* root_;
Definition: BaseList.h:21
Definition: BaseList.h:92
unsigned char Byte
Definition: Type.h:64
void(* FunctionConstructor)(Byte *, const Byte *)
Definition: Allocator.h:88
Definition: BaseList.h:30