56 virtual const char*
get_name()
const {
return "ListElement"; }
63 "Next element in list.");
65 "Next element in list.");
94 "Delete data on destruction?");
96 "Number of elements.");
98 "First element in list.");
100 "First element in list.");
107 this->delete_data=p_delete_data;
112 SG_DEBUG(
"Destroying List %p\n",
this)
158 return current->
data;
175 return current->
data;
187 if ((current != NULL) && (current->
next != NULL))
189 current = current->
next;
192 return current->
data;
204 if ((current != NULL) && (current->
prev != NULL))
206 current = current->
prev;
209 return current->
data;
225 return current->
data;
247 return p_current->
data;
265 return p_current->
data;
278 if ((p_current != NULL) && (p_current->
next != NULL))
280 p_current = p_current->
next;
283 return p_current->
data;
296 if ((p_current != NULL) && (p_current->
prev != NULL))
298 p_current = p_current->
prev;
301 return p_current->
data;
314 if (p_current != NULL)
318 return p_current->
data;
352 if ((element =
new CListElement(data, current)) != NULL)
354 current->
next = element;
368 SG_WARNING(
"Error in allocating memory for new element!\n");
421 current=current->
prev;
468 SG_WARNING(
"Error in allocating memory for new element!\n");
476 if (current->
prev != NULL)
481 current->
prev = element;
490 SG_WARNING(
"Error in allocating memory for new element!\n");
514 SG_GCDEBUG(
"Decreasing refcount of %s(%p)!\n",
528 current = element->
next;
530 current = element->
prev;
532 if (element == first)
533 first = element->
next;
536 last = element->
prev;
578 virtual const char*
get_name()
const {
return "List"; }
590 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)
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()
virtual const char * get_name() const
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)