Iterator class for the variant. More...
#include <variant.hpp>

Public Types | |
| enum | TYPE { TYPE_NULL, TYPE_LIST, TYPE_MAP } |
Public Member Functions | |
| variant_iterator () | |
| Constructor for a TYPE_NULL variant. | |
| variant_iterator (const std::vector< variant >::iterator &iter) | |
| Constructor for a TYPE_LIST variant. | |
| variant_iterator (const std::map< variant, variant >::iterator &iter) | |
| Constructor for a TYPE_MAP variant. | |
| variant_iterator (const variant_iterator &) | |
| variant | operator* () const |
| variant_iterator & | operator++ () |
| variant_iterator | operator++ (int) |
| variant_iterator & | operator= (const variant_iterator &that) |
| bool | operator== (const variant_iterator &that) const |
| bool | operator!= (const variant_iterator &that) const |
Private Attributes | |
| TYPE | type_ |
| std::vector< variant >::iterator | list_iterator_ |
| std::map< variant, variant > ::iterator | map_iterator_ |
Iterator class for the variant.
Depending on the type_ the list_iterator_ and the map_iterator_ are a valid iterator or singular. Since most actions on singular iterators result in Undefined Behaviour care should be taken when copying the list_iterator_ and map_iterator_.
Definition at line 181 of file variant.hpp.
Definition at line 215 of file variant.hpp.
| variant_iterator::variant_iterator | ( | ) |
Constructor for a TYPE_NULL variant.
Definition at line 84 of file variant.cpp.
| variant_iterator::variant_iterator | ( | const std::vector< variant >::iterator & | iter | ) | [explicit] |
Constructor for a TYPE_LIST variant.
iter is not singular.| iter | Iterator to initialize list_iterator_ with. |
Definition at line 111 of file variant.cpp.
| variant_iterator::variant_iterator | ( | const std::map< variant, variant >::iterator & | iter | ) | [explicit] |
Constructor for a TYPE_MAP variant.
iter is not singular.| iter | Iterator to initialize map_iterator_ with. |
Definition at line 119 of file variant.cpp.
| variant_iterator::variant_iterator | ( | const variant_iterator & | iter | ) |
Definition at line 91 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, TYPE_MAP, and TYPE_NULL.
| bool variant_iterator::operator!= | ( | const variant_iterator & | that | ) | const |
Definition at line 208 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, TYPE_MAP, and TYPE_NULL.
| variant variant_iterator::operator* | ( | ) | const |
Definition at line 127 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, and TYPE_MAP.
| variant_iterator & variant_iterator::operator++ | ( | ) |
Definition at line 141 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, and TYPE_MAP.
| variant_iterator variant_iterator::operator++ | ( | int | ) |
Definition at line 154 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, and TYPE_MAP.
| variant_iterator & variant_iterator::operator= | ( | const variant_iterator & | that | ) |
Definition at line 168 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, TYPE_MAP, and TYPE_NULL.
| bool variant_iterator::operator== | ( | const variant_iterator & | that | ) | const |
Definition at line 190 of file variant.cpp.
References list_iterator_, map_iterator_, type_, TYPE_LIST, TYPE_MAP, and TYPE_NULL.
std::vector<variant>::iterator variant_iterator::list_iterator_ [private] |
Definition at line 218 of file variant.hpp.
Referenced by operator!=(), operator*(), operator++(), operator=(), operator==(), and variant_iterator().
std::map<variant,variant>::iterator variant_iterator::map_iterator_ [private] |
Definition at line 219 of file variant.hpp.
Referenced by operator!=(), operator*(), operator++(), operator=(), operator==(), and variant_iterator().
TYPE variant_iterator::type_ [private] |
Definition at line 217 of file variant.hpp.
Referenced by operator!=(), operator*(), operator++(), operator=(), operator==(), and variant_iterator().
| Generated by doxygen 1.7.1 on Thu May 24 2012 01:17:51 for The Battle for Wesnoth | Gna! | Forum | Wiki | CIA | devdocs |