Loading...
Searching...
No Matches
IsList< T > Class Template Reference Generic single linked list. More...
Inheritance diagram for IsList< T >:
![]()
Detailed Descriptiontemplate<class T> class soplex::IsList< T > Generic single linked list. Class IsList implements an intrusive single linked list of elements of a template class T. As an intrusive list, the objects of type T must provide methods next() for setting and inquiring a pointer to the next element in a list. The user is responsible for not modifying the next() pointer of elements currently residing in a list, which may destroy the lists integrity. For this, class IsList provides enough methods for modifying a list in a save way. See the method list for a description. Member Typedef Documentation◆ ElementConstructor & Destructor Documentation◆ IsList() [1/2]
template<class T >
default constructor. The default constructor may be used to setup a (sub-)list, by specifying a Definition at line 464 of file islist.h. References IsList< T >::find(), and IsList< T >::isConsistent(). ◆ IsList() [2/2]Assignment operator and copy constructor should be deleted to avoid memory problems. ◆ ~IsList()
template<class T >
destructor Definition at line 483 of file islist.h. References IsList< T >::clear(), and IsList< T >::destroyElements. Member Function Documentation◆ append() [1/2]
template<class T >
appends all elements of Appending one list to another keeps the appended Definition at line 178 of file islist.h. References IsList< T >::append(), IsList< T >::the_first, and IsList< T >::the_last. ◆ append() [2/2]
template<class T >
appends Definition at line 136 of file islist.h. References IsList< T >::the_first, and IsList< T >::the_last. Referenced by IsList< T >::append(), and IsList< T >::insert(). ◆ clear()
template<class T >
removes all elements from an IsList. Definition at line 304 of file islist.h. References IsList< T >::next(), soplex::spx_free(), IsList< T >::the_first, and IsList< T >::the_last. Referenced by IsList< T >::~IsList(). ◆ find()
template<class T >
returns the position of element Definition at line 370 of file islist.h. References IsList< T >::next(), and IsList< T >::the_first. Referenced by IdList< T >::insert(), IdList< T >::insert(), IsList< T >::insert(), IsList< T >::insert(), IsList< T >::isConsistent(), IsList< T >::IsList(), IdList< T >::remove(), IsList< T >::remove(), IsList< T >::remove_next(), and IsList< T >::sublist(). ◆ first()
template<class T >
returns the IsList's first element. Definition at line 326 of file islist.h. References IsList< T >::the_first. Referenced by IsList< T >::insert(), IsList< T >::isConsistent(), IsList< T >::move(), and IsList< T >::remove(). ◆ insert() [1/2]
template<class T >
inserts all elements of Inserting one list into another keeps the appended Definition at line 210 of file islist.h. References IsList< T >::find(), IsList< T >::first(), IsList< T >::last(), IsList< T >::the_first, and IsList< T >::the_last. ◆ insert() [2/2]
template<class T >
inserts Definition at line 158 of file islist.h. References IsList< T >::append(), IsList< T >::find(), and IsList< T >::the_last. ◆ isConsistent()
template<class T >
consistency check. Definition at line 436 of file islist.h. References IsList< T >::find(), IsList< T >::first(), IsList< T >::last(), and SPX_MSG_INCONSISTENT. Referenced by IdList< T >::isConsistent(), and IsList< T >::IsList(). ◆ last()
template<class T >
returns the IsList's last element. Definition at line 332 of file islist.h. References IsList< T >::the_last. Referenced by IsList< T >::insert(), IsList< T >::isConsistent(), IsList< T >::move(), IsList< T >::remove(), and IsList< T >::remove_next(). ◆ length()
template<class T >
returns the number of elements in IsList. Definition at line 352 of file islist.h. References IsList< T >::the_first, and IsList< T >::the_last. ◆ move()
template<class T >
adjusts list pointers to a new memory address. This method is of a rather technical nature. If all list elements are taken form one array of elements, in certain circumstances the user may be forced to realloc this array. As a consequence all next() pointers of the list elements would become invalid. However, all addresses will be changed by a constant offset Definition at line 421 of file islist.h. References IsList< T >::first(), IsList< T >::last(), IsList< T >::next(), IsList< T >::the_first, and IsList< T >::the_last. Referenced by IdList< T >::move(). ◆ next()
template<class T >
returns successor of The successor of Definition at line 346 of file islist.h. References IsList< T >::the_last. Referenced by IsList< T >::clear(), IsList< T >::find(), IsList< T >::move(), and IsList< T >::remove(). ◆ operator=()◆ prepend() [1/2]
template<class T >
prepends all elements of Appending one list to another keeps the appended Definition at line 194 of file islist.h. References IsList< T >::prepend(), IsList< T >::the_first, and IsList< T >::the_last. ◆ prepend() [2/2]
template<class T >
prepends Definition at line 147 of file islist.h. References IsList< T >::the_first, and IsList< T >::the_last. Referenced by IsList< T >::prepend(). ◆ remove() [1/2]
template<class T >
removes element Definition at line 243 of file islist.h. References IsList< T >::next(), IsList< T >::remove_next(), IsList< T >::the_first, and IsList< T >::the_last. ◆ remove() [2/2]
template<class T >
removes all elements of Removing Definition at line 274 of file islist.h. References IsList< T >::find(), IsList< T >::first(), IsList< T >::last(), IsList< T >::the_first, and IsList< T >::the_last. ◆ remove_next()
template<class T >
removes the successor of Definition at line 229 of file islist.h. References IsList< T >::find(), IsList< T >::last(), and IsList< T >::the_last. Referenced by IsList< T >::remove(). ◆ sublist()
template<class T >
constructs sublist of an IsList. Returns a new IsList containing a sublist of an IsList starting with element Definition at line 389 of file islist.h. References IsList< T >::find(), IsList< T >::the_first, and IsList< T >::the_last. Member Data Documentation◆ destroyElements
template<class T >
should the destructor be called for each element when the list is destroyed? Definition at line 126 of file islist.h. Referenced by IsList< T >::~IsList(). ◆ the_first
template<class T >
the first element in the IsList. Definition at line 124 of file islist.h. Referenced by IdList< T >::append(), IsList< T >::append(), IsList< T >::append(), IsList< T >::clear(), IsList< T >::find(), IdList< T >::first(), IsList< T >::first(), IsList< T >::insert(), IsList< T >::length(), IdList< T >::move(), IsList< T >::move(), IdList< T >::prepend(), IdList< T >::prepend(), IsList< T >::prepend(), IsList< T >::prepend(), IdList< T >::remove(), IdList< T >::remove(), IsList< T >::remove(), IsList< T >::remove(), and IsList< T >::sublist(). ◆ the_last
template<class T >
the last element in the IsList. Definition at line 125 of file islist.h. Referenced by IdList< T >::append(), IdList< T >::append(), IsList< T >::append(), IsList< T >::append(), IsList< T >::clear(), IdList< T >::insert(), IsList< T >::insert(), IsList< T >::insert(), IdList< T >::last(), IsList< T >::last(), IsList< T >::length(), IsList< T >::move(), IsList< T >::next(), IdList< T >::prepend(), IsList< T >::prepend(), IsList< T >::prepend(), IdList< T >::remove(), IdList< T >::remove(), IsList< T >::remove(), IsList< T >::remove(), IsList< T >::remove_next(), and IsList< T >::sublist().
|