T
einen Container.
More...
#include <trivial_container.h>
Public Member Functions | |
void | insert (const iterator &pos, const T &t) |
trivial_container (const T &t) | |
iterator | begin () const |
iterator | end () const |
T
einen Container.
Ein solcher Container enthält entweder ein oder kein Objekt vom Typ T
. Ist ein trivial_container<T>
- Objekt tc
nicht leer, so liefert *(tc.begin()) das Objekt vom Typ T
. tc.begin()++ liefert dann einen trivial_container<T>::iterator
zurück, der gleich tc.end()
ist.
Die Klasse trivial_container<T>
ist voll Zuweisungskompatibel mit der Klasse T
, d.h Programmzeilen wie die folgende sind erlaubt:
myClass x; trivial_container<myClass> tc; ... x = tc; ... tc = x;
GroupIndex
- Klassen ist diese (an sich sinnlos erscheinende) Klasse sehr nützlich. Beispielsweise kann der derselbe Programmcode für reguläre und nicht-reguläre Gruppenoperationen verwendet werden: bei regulären Gruppenoperationen wird der trivial_container<Group> für den Stabilisator verwendet, bei nicht-regulären Gruppenoperationen kann ein anderer Container, z.B. ein std::list<Group> (bzw. deren Zuweisungskompatible Variante groupindex::ac_list<Group>
) verwendet werden. Im Falle der regulären Gruppenoperation wird dann mit einem Iterator über den einelementigen Stabilisator iteriert, im nicht-regulären Fall über den entsprechenden "echten" Container. Dadurch wird die Implementierung regulärer Gruppenoperationen erheblich erleichtert.