54 virtual const char*
get_name()
const {
return "ListElement"; }
61 "Next element in list.");
63 "Next element in list.");
92 "Delete data on destruction?");
94 "Number of elements.");
96 "First element in list.");
98 "First element in list.");
105 this->delete_data=p_delete_data;
110 SG_DEBUG(
"Destroying List %p\n",
this)
112 delete_all_elements();
118 while (get_num_elements())
124 SG_DEBUG(
"SG_UNREF List Element %p\n", d)
151 return current->data;
168 return current->data;
180 if ((current != NULL) && (current->next != NULL))
182 current = current->next;
185 return current->data;
197 if ((current != NULL) && (current->prev != NULL))
199 current = current->prev;
202 return current->data;
218 return current->data;
240 return p_current->
data;
258 return p_current->
data;
271 if ((p_current != NULL) && (p_current->
next != NULL))
273 p_current = p_current->
next;
276 return p_current->
data;
289 if ((p_current != NULL) && (p_current->
prev != NULL))
291 p_current = p_current->
prev;
294 return p_current->
data;
307 if (p_current != NULL)
311 return p_current->
data;
333 return insert_element(data);
340 if ((element =
new CListElement(data, current)) != NULL)
342 current->
next = element;
358 return insert_element(data);
372 return append_element(data);
382 return append_element_at_listend(data);
401 current=current->prev;
450 if ((element =
new CListElement(data, current->prev, current)) != NULL)
452 if (current->prev != NULL)
457 current->
prev = element;
496 current = element->
next;
498 current = element->
prev;
500 if (element == first)
501 first = element->
next;
504 last = element->
prev;
544 virtual const char*
get_name()
const {
return "List"; }
556 int32_t num_elements;
virtual const char * get_name() const =0
bool push(CSGObject *data)
CSGObject * get_next_element()
Class ShogunException defines an exception which is thrown whenever an error inside of shogun occurs...
CSGObject * delete_element()
virtual const char * get_name() const
void add(bool *param, const char *name, const char *description="")
CSGObject * get_first_element()
Class SGObject is the base class of all shogun objects.
CList(bool p_delete_data=false)
CSGObject * get_current_element(CListElement *&p_current)
CSGObject * get_last_element(CListElement *&p_current)
virtual const char * get_name() const
int32_t get_num_elements()
CSGObject * get_previous_element()
virtual ~CListElement()
destructor
Parameter * m_model_selection_parameters
CListElement(CSGObject *p_data, CListElement *p_prev=NULL, CListElement *p_next=NULL)
virtual void load_serializable_post()
all of classes and functions are contained in the shogun namespace
Class ListElement, defines how an element of the the list looks like.
bool append_element(CSGObject *data)
CSGObject * get_next_element(CListElement *&p_current)
CSGObject * get_previous_element(CListElement *&p_current)
CSGObject * get_last_element()
CSGObject * get_first_element(CListElement *&p_current)
void delete_all_elements()
bool append_element_at_listend(CSGObject *data)
virtual void load_serializable_post()
CSGObject * get_current_element()
Class List implements a doubly connected list for low-level-objects.
bool insert_element(CSGObject *data)