![]() |
aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
|
This file provides class List for manipulating generic lists as well as List<>::iterator, List<>::const_iterator, List<>::iterator_safe and List<>::const_iterator_safe for parsing lists. More...
This file provides class List for manipulating generic lists as well as List<>::iterator, List<>::const_iterator, List<>::iterator_safe and List<>::const_iterator_safe for parsing lists.
The List and their (safe) iterators provided here differ from those of the C++ standard library in that they are "safe", i.e., deleting elements which are pointed to by iterators does never produce any segmentation fault nor unexpected results when the iterators are incremented or decremented. Tests performed on a Fedora Core 3 with programs compiled with g++ 3.4 show that List and their iterators are as fast as their counterparts in the standard library. If computation times are an issue, the "_unsafe" iterators provide fast access (but at the expense of safety: dereferencing an unsafe iterator pointing to an erased element will most certainly induce a segfault (like the STL).
Classes | |
class | gum::ListBucket< Val > |
Bucket for a chained list. More... | |
class | gum::List< Val, Alloc > |
Generic doubly linked lists. More... | |
class | gum::ListConstIterator< Val > |
Unsafe but fast const iterators for Lists. More... | |
class | gum::ListIterator< Val > |
Unsafe but fast iterators for Lists. More... | |
class | gum::ListConstIteratorSafe< Val > |
Safe const iterators for Lists. More... | |