Classes | |
| class | vi_policy_const |
| The variable_info policy classes. More... | |
| class | vi_policy_create |
| Creates a child table when resolving name if it doesn't exist yet. More... | |
| class | vi_policy_throw |
| Will throw an exception when trying to access a nonexistent table. More... | |
| struct | maybe_const |
| struct | maybe_const< config::child_itors, const vi_policy_const > |
| struct | variable_info_state |
| class | info_visitor_base |
| Visitor base class. More... | |
| class | get_variable_key_visitor |
| Adds a '. More... | |
| class | get_variable_index_visitor |
| Appends an [index] to the variable. More... | |
| class | as_scalar_visitor |
| Tries to convert it to an (maybe const) attribute value. More... | |
| class | as_container_visitor |
| Tries to convert to a [const] config&. More... | |
| class | as_array_visitor |
| This currently isn't implemented as a range-based operation because doing it on something like range 2-5 on vi_policy_const if child_ has only 4 elements would be too hard to implement. More... | |
| class | as_range_visitor_base |
| class | clear_value_visitor |
| class | exists_as_container_visitor |
| class | replace_range_h |
| Replaces the child in [startindex, endindex) with 'source' 'insert' and 'append' are subcases of this. More... | |
| class | insert_range_h |
| class | append_range_h |
| class | merge_range_h |
Typedefs | |
| template<typename V , typename TResult > | |
| using | info_visitor = info_visitor_base< TResult, variable_info_state< V > > |
| template<typename V , typename TResult > | |
| using | info_visitor_const = info_visitor_base< TResult, const variable_info_state< V > > |
Enumerations | |
| enum | variable_info_state_type { state_start = 0 , state_named , state_indexed , state_temporary } |
Functions | |
| template<typename V , typename... T> | |
| V::result_t | apply_visitor (typename V::param_t state, T &&... args) |
| Helper function to apply the result of a specified visitor to a variable_info object. More... | |
| template<typename TConfig > | |
| auto | get_child_range (TConfig &cfg, const std::string &key, int start, int count) -> decltype(cfg.child_range(key)) |
| void | resolve_negative_value (int size, int &val) |
| int | parse_index (const char *index_str) |
| Parses a ']' terminated string. More... | |
Variables | |
| const config | non_empty_const_cfg ("_") |
| using variable_info_implementation::info_visitor = typedef info_visitor_base<TResult, variable_info_state<V> > |
Definition at line 115 of file variable_info_private.hpp.
| using variable_info_implementation::info_visitor_const = typedef info_visitor_base<TResult, const variable_info_state<V> > |
Definition at line 118 of file variable_info_private.hpp.
Definition at line 119 of file variable_info_detail.hpp.
| V::result_t variable_info_implementation::apply_visitor | ( | typename V::param_t | state, |
| T &&... | args | ||
| ) |
Helper function to apply the result of a specified visitor to a variable_info object.
| V | Visitor type. |
| T | Visitor argument parameter pack. |
| state | Info state (the actual variable data). |
| args | Arguments to forward to visitor constructor. |
| std::range_error | If state has an invalid type_ field. |
Definition at line 37 of file variable_info.cpp.
References state_indexed, state_named, state_start, and state_temporary.
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
| auto variable_info_implementation::get_child_range | ( | TConfig & | cfg, |
| const std::string & | key, | ||
| int | start, | ||
| int | count | ||
| ) | -> decltype(cfg.child_range(key)) |
Definition at line 31 of file variable_info_private.hpp.
References cfg, config::child_range(), and editor::start().
Referenced by variable_info_implementation::as_array_visitor< V >::from_indexed(), variable_info_implementation::as_array_visitor< V >::from_named(), and variable_info_implementation::replace_range_h::operator()().
| int variable_info_implementation::parse_index | ( | const char * | index_str | ) |
Parses a ']' terminated string.
This is a important optimization of lexical_cast_default
Definition at line 57 of file variable_info_private.hpp.
References game_config::max_loop.
Referenced by variable_info< V >::calculate_value().
| void variable_info_implementation::resolve_negative_value | ( | int | size, |
| int & | val | ||
| ) |
Definition at line 38 of file variable_info_private.hpp.
References utf8::size().
Referenced by variable_info_implementation::get_variable_index_visitor< V >::from_named().
| const config variable_info_implementation::non_empty_const_cfg("_") | ( | "_" | ) |