Used to share macros between cache objects You have to create transaction object to load all macros to memory and share them subsequent cache loads. More...
#include <config_cache.hpp>
Public Types | |
enum | state { FREE, NEW, ACTIVE, LOCKED } |
Public Member Functions | |
config_cache_transaction () | |
~config_cache_transaction () | |
void | lock () |
Lock the transaction so no more macros are added. More... | |
void | insert_to_active (const preproc_map::value_type &def) |
Used to let std::for_each insert new defines to active_map map to active. More... | |
Private Member Functions | |
const std::vector< std::string > & | get_define_files () const |
void | add_define_file (const std::string &file) |
preproc_map & | get_active_map (const preproc_map &defines_map) |
void | add_defines_map_diff (preproc_map &defines_map) |
Static Private Member Functions | |
static state | get_state () |
static bool | is_active () |
static config_cache_transaction & | instance () |
Private Attributes | |
std::vector< std::string > | define_filenames_ |
preproc_map | active_map_ |
Static Private Attributes | |
static state | state_ = FREE |
static config_cache_transaction * | active_ = 0 |
Friends | |
class | config_cache |
class | fake_transaction |
Used to share macros between cache objects You have to create transaction object to load all macros to memory and share them subsequent cache loads.
If transaction is locked all stored macros are still available but new macros aren't added.
Definition at line 192 of file config_cache.hpp.
Enumerator | |
---|---|
FREE | |
NEW | |
ACTIVE | |
LOCKED |
Definition at line 209 of file config_cache.hpp.
game_config::config_cache_transaction::config_cache_transaction | ( | ) |
game_config::config_cache_transaction::~config_cache_transaction | ( | ) |
Definition at line 415 of file config_cache.cpp.
|
private |
Definition at line 431 of file config_cache.cpp.
References define_filenames_.
Referenced by game_config::config_cache::read_cache().
|
private |
Definition at line 470 of file config_cache.cpp.
References ACTIVE, active_map_, get_state(), insert_to_active(), and LOCKED.
Referenced by game_config::config_cache::add_defines_map_diff().
|
private |
Definition at line 436 of file config_cache.cpp.
References ACTIVE, active_map_, get_state(), NEW, and state_.
Referenced by game_config::config_cache::add_define(), game_config::config_cache::make_copy_map(), and game_config::config_cache::remove_define().
|
private |
Definition at line 426 of file config_cache.cpp.
References define_filenames_.
Referenced by game_config::config_cache::read_defines_queue().
|
inlinestaticprivate |
Definition at line 227 of file config_cache.hpp.
References state_.
Referenced by add_defines_map_diff(), and get_active_map().
void game_config::config_cache_transaction::insert_to_active | ( | const preproc_map::value_type & | def | ) |
Used to let std::for_each insert new defines to active_map map to active.
Definition at line 491 of file config_cache.cpp.
References active_map_.
Referenced by add_defines_map_diff(), and game_config::config_cache::read_defines_file().
|
inlinestaticprivate |
Definition at line 237 of file config_cache.hpp.
References active_.
Referenced by game_config::config_cache::add_define(), game_config::config_cache::add_defines_map_diff(), game_config::config_cache::make_copy_map(), game_config::config_cache::read_cache(), game_config::config_cache::read_defines_file(), game_config::config_cache::read_defines_queue(), and game_config::config_cache::remove_define().
|
inlinestaticprivate |
Definition at line 232 of file config_cache.hpp.
Referenced by game_config::config_cache::add_define(), game_config::fake_transaction::fake_transaction(), and game_config::config_cache::remove_define().
void game_config::config_cache_transaction::lock | ( | ) |
Lock the transaction so no more macros are added.
Definition at line 421 of file config_cache.cpp.
References LOCKED, and state_.
Referenced by BOOST_AUTO_TEST_CASE(), and game_config_manager::load_game_config().
|
friend |
Definition at line 218 of file config_cache.hpp.
|
friend |
Definition at line 219 of file config_cache.hpp.
|
staticprivate |
Definition at line 222 of file config_cache.hpp.
Referenced by config_cache_transaction(), instance(), and ~config_cache_transaction().
|
private |
Definition at line 225 of file config_cache.hpp.
Referenced by add_defines_map_diff(), get_active_map(), and insert_to_active().
|
private |
Definition at line 224 of file config_cache.hpp.
Referenced by add_define_file(), and get_define_files().
|
staticprivate |
Definition at line 221 of file config_cache.hpp.
Referenced by config_cache_transaction(), get_active_map(), get_state(), lock(), and ~config_cache_transaction().