20 #include "SheafSystem/member_class_names_record.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/std_sstream.h" 49 ensure(is_same_type(result));
69 result = result && attributes_record::invariant();
75 disable_invariant_check();
79 enable_invariant_check();
183 require(
scaffold().structure().state_is_read_write_accessible());
198 typedef map_type::mapped_type mapped_type;
204 while(lstream >> lmbr_id_pod)
214 lstream >> lmapped.first;
218 lstream >> lmapped.second;
222 lclass_name_map[lmbr_id_pod] = lmapped;
239 require(
scaffold().structure().state_is_read_accessible());
243 #ifdef DIAGNOSTIC_OUTPUT 244 cout <<
"member_class_names_record::transfer_poset_to_internal_buffer" << endl;
247 stringstream lstream;
249 #ifdef DIAGNOSTIC_OUTPUT 250 cout <<
"Member class names:" << endl;
254 lstream <<
"Member class names:" << endl;
257 poset_scaffold::member_class_names_type::iterator itr;
259 for(itr = lclass_names_map.begin();
260 itr != lclass_names_map.end();
263 #ifdef DIAGNOSTIC_OUTPUT 264 cout << itr->first <<
" " << itr->second.first <<
" " << itr->second.second << endl;
267 lstream << itr->first <<
" " << itr->second.first <<
" " << itr->second.second << endl;
poset_scaffold & scaffold()
The scaffold for the poset associated with this record (mutable version).
virtual ~member_class_names_record()
Destructor.
member_class_names_record(poset_scaffold &xscaffold)
Creates an instance with type map xtype_map.
Abstract base class with useful features for all objects.
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.
void transfer_internal_buffer_to_poset()
Initializes the poset from the internal buffer.
bool is_internal() const
True if the internal buffer has been initialized.
virtual member_class_names_record * clone() const
Virtual constructor; makes a new instance of the same type as this.
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.
member_class_names_type & member_class_names()
Member class names (mutable version).
A wrapper/adapter for the member class names record. Intended for transferring index-name map data be...
int_type pod_index_type
The plain old data index type.
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.
unordered::unordered_map< pod_index_type, std::pair< std::string, size_type > > member_class_names_type
Type of member class names map.
An abstract wrapper/adapter for attributes records. Intended for transferring data between the kernel...
virtual bool invariant() const
Class invariant.
void transfer_poset_to_internal_buffer()
Initializes the internal buffer from the poset.
void put_is_external(bool xis_external)
Sets is_external to xis_external.