20 #include "SheafSystem/id_space_names_record.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/index_space_family.h" 24 #include "SheafSystem/index_space_family_iterator.h" 25 #include "SheafSystem/index_space_interval.h" 26 #include "SheafSystem/scattered_insertion_index_space_handle.h" 27 #include "SheafSystem/scattered_insertion_index_space_state.h" 28 #include "SheafSystem/std_sstream.h" 52 ensure(is_same_type(result));
72 result = result && attributes_record::invariant();
78 disable_invariant_check();
82 enable_invariant_check();
180 require(
scaffold().structure().state_is_read_write_accessible());
209 string lid_space_class_name, lid_space_name;
211 while(lstream >> lid_space_ext_id)
219 lstream >> lid_space_class_name;
228 getline(lstream, lid_space_name);
241 subposet lsp(&lposet, lid_space_name);
274 require(
scaffold().structure().state_is_read_accessible());
278 stringstream lstream;
280 lstream <<
"Id space names:" << endl;
286 while(!litr.is_done())
295 lstream << lid_space.
index()
297 <<
" " << lid_space.
name()
id_spaces_type & id_spaces()
Buffer for id spaces (mutable version).
scattered_insertion_index_space_state & state()
The mutable id space state (mutable version).
A client handle for a subposet.
virtual void transfer_internal_buffer_to_poset()
Initializes member with index xmbr_id from the internal buffer.
virtual pod_type index() const
Index of this space.
poset_scaffold & scaffold()
The scaffold for the poset associated with this record (mutable version).
virtual id_space_names_record * clone() const
Virtual constructor; makes a new instance of the same type as this.
virtual bool has_id_space() const
True if this already has an id space.
id_space_names_record(poset_scaffold &xscaffold)
Creates an instance with type map xtype_map.
virtual ~id_space_names_record()
Destructor.
A client handle for a general, abstract partially order set.
virtual bool includes_subposet(pod_index_type xsubposet_hub_id, bool xauto_access=true) const
True if this poset includes subposet with hub id xsubposet_hub_id.
index_space_handle & get_id_space(const std::string &xname) const
Allocates an id space handle from the handle pool attached to state with name xname.
void force_item(index_type xindex, const_reference_type xitem)
Puts the item xitem at index xindex, resizing if necessary; any other new storage allocated is uninit...
const index_space_family & member_id_spaces(bool xauto_access) const
Collection of member id spaces for this (const version).
virtual void release_id_space() const
Returns this id space handle to the handle pool.
An abstract iterator over the id spaces of a interval.
Abstract base class with useful features for all objects.
bool handle_conforms_to_state(const std::string &xname) const
True if handle of type T conforms to the state with name xname.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
std::string _str_buf
The internal/external buffer.
std::string name() const
Name of this space.
bool is_internal() const
True if the internal buffer has been initialized.
A wrapper/adapter for the id space names record. Intended for transferring id map data between the ke...
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
void new_state(const std::string &xname, const std::string &xstate_class_name)
Create a new id space with class type xstate_class_name and name xname. Used by the I/O system to rea...
void put_is_internal(bool xis_internal)
Sets is_internal to xis_internal.
SHEAF_DLL_SPEC void max(const vd &x0, vd_value_type &xresult, bool xauto_access)
Maximum component of x0, pre-allocated version.
poset_state_handle & structure()
The handle for the poset being transferred. (Name chosen to void name conflict with class poset...
void attach_id_space()
Attach the id space to the id_space_name().
A handle for a scattered_insertion_index_space_state.
bool contains(pod_type xid) const
True, if this contains an id space with id xid.
A poset specific collection of data converters, various buffers and other data used while transferrin...
bool is_external() const
True if the external buffer has been initialized.
An abstract wrapper/adapter for attributes records. Intended for transferring data between the kernel...
virtual void transfer_poset_to_internal_buffer()
Initializes the internal buffer from the member with index xmbr_id.
virtual const std::string & class_name() const
The name of this class.
virtual bool invariant() const
Class invariant.
void put_is_external(bool xis_external)
Sets is_external to xis_external.
void initialize_member_id_space()
Initializes member_id_space().