20 #include "SheafSystem/member_names_record.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/std_sstream.h" 47 ensure(is_same_type(result));
68 result = result && attributes_record::invariant();
74 disable_invariant_check();
78 enable_invariant_check();
186 require(
scaffold().structure().state_is_read_write_accessible());
203 while(lstream >> lmbr_id_pod)
212 getline(lstream, lname);
216 lname_map.
put_entry(lmbr_id_pod, lname,
false);
233 require(
scaffold().structure().state_is_read_accessible());
237 stringstream lstream;
239 lstream <<
"Member names:" << endl;
245 for(itr = lname_map.
begin();
246 itr != lname_map.
end();
251 while(lname_itr != lnames.end())
253 lstream << itr->first <<
" " << *lname_itr << endl;
poset_scaffold & scaffold()
The scaffold for the poset associated with this record (mutable version).
void transfer_poset_to_internal_buffer()
Initializes the internal buffer from the poset.
const_iterator begin() const
The initial value for iterators over this map.
virtual ~member_names_record()
Destructor.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
name_list_type::const_iterator const_name_iterator
The const iterator type for names.
std::list< std::string > name_list_type
The type of name list for this map.
A partial multi-valued relation with total injective inverse between names and indices of type index_...
const_iterator end() const
The final value for iterators over this map.
Abstract base class with useful features for all objects.
std::string _str_buf
The internal/external buffer.
void transfer_internal_buffer_to_poset()
Initializes the poset from the internal buffer.
A wrapper/adapter for the member names record. Intended for transferring index-name map data between ...
bool is_internal() const
True if the internal buffer has been initialized.
member_names_record(poset_scaffold &xscaffold)
Creates an instance with type map xtype_map.
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.
virtual member_names_record * clone() const
Virtual constructor; makes a new instance of the same type as this.
member_name_map_type & member_name_map()
External index to member name map (mutable version).
pod_index_type pod_type
The "plain old data" storage type for this.
void put_entry(const entry_type &xentry, bool xunique)
Sets (xindex, xname) as an entry in the map. If xunique, deletes all other entries for xindex...
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...
std::map< index_type, name_list_type >::const_iterator const_iterator
The const iterator type for this map.
virtual bool invariant() const
Class invariant.
void put_is_external(bool xis_external)
Sets is_external to xis_external.