21 #include "SheafSystem/index_scope.h" 23 #include "SheafSystem/assert_contract.h" 24 #include "SheafSystem/scoped_index.h" 32 index_scope(
const immutable_id_map* xmap)
40 define_old_variable(
const immutable_id_map*
41 old_scoped_index_default_map = scoped_index::default_map());
44 scoped_index::private_default_map() = xmap;
48 ensure(
scope() == xmap);
49 ensure(
old_scope() == old_scoped_index_default_map);
66 scoped_index::private_default_map() =
_old_scope;
80 const sheaf::immutable_id_map*
89 const immutable_id_map* result = scoped_index::default_map();
93 ensure(result == scoped_index::default_map());
111 define_old_variable(
const immutable_id_map* old_old_scope =
_old_scope);
113 scoped_index::private_default_map() = xmap;
117 ensure(
scope() == xmap);
128 const sheaf::immutable_id_map*
const immutable_id_map * _old_scope
The scope before this was created.
void put_scope(const immutable_id_map *xmap)
Sets scoped_index::default_scope() to xmap.
~index_scope()
Destructor; restores scoped_index::default_scope() to old_scope(). Not virtual; this class can not be...
const immutable_id_map * old_scope() const
The scope before this was created.
const immutable_id_map * scope() const
The current scope.