20 #include "SheafSystem/dof_tuple_col_bounds_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());
206 while(lstream >> ltuple_id_pod)
210 lstream >> lcol_bound[0];
211 lstream >> lcol_bound[1];
212 lstream >> lcol_bound[2];
225 map_type::value_type lval(ltuple_id_pod, ldesc);
229 if(
scaffold().is_write_transaction())
263 require(
scaffold().structure().state_is_read_accessible());
272 stringstream lstream;
274 lstream <<
"Dof tuple col bounds:" << endl;
276 poset_scaffold::dof_tuple_col_bounds_type::iterator itr;
278 for(itr =
scaffold().dof_tuple_col_bounds().begin();
286 #ifdef DIAGNOSTIC_OUTPUT 288 <<
" mode: " << ldesc.
mode()
289 <<
" lb: " << ldesc.
lb_id()
290 <<
" ub: " << ldesc.
ub_id()
322 #ifdef DIAGNOSTIC_OUTPUT 324 <<
" mode: " << ldesc.
mode()
325 <<
" lb: " << ldesc.
lb_id()
326 <<
" ub: " << ldesc.
ub_id()
330 lstream << itr->first <<
" " 332 << ldesc.
lb_id() <<
" " 333 << ldesc.
ub_id() << endl;
poset_state_handle * host() const
The poset which this is a handle to a component of.
static specification_mode int_to_mode(int xmode)
Converts int xmode to a mode.
poset_scaffold & scaffold()
The scaffold for the poset associated with this record (mutable version).
void translate_dof_tuple_col_bounds()
Translate the dof tuple column bounds from external ids to internal ids.
bool ub_is_member() const
True if mode == MEMBER_MEMBER or SUBPOSET_MEMBER.
A client handle for a general, abstract partially order set.
dof_tuple_col_bounds_type & dof_tuple_col_bounds()
Dof tuple col bounds map (mutable version).
scoped_index subposet_ext_id(const scoped_index &xid) const
An id in the subposet external id space with pod mapped from xid.
unordered::unordered_map< pod_index_type, poset_bounds_descriptor > dof_tuple_col_bounds_type
Type of dof tuple col bounds map.
pod_index_type ub_id() const
The index of the upper bound member, if the upper bound contains a single member. ...
void put_lb_id(pod_index_type xlb_id)
Sets the index of the lower bound to xlb_id.
virtual dof_tuple_col_bounds_record * clone() const
Virtual constructor; makes a new instance of the same type as this.
virtual bool invariant() const
Class invariant.
Abstract base class with useful features for all objects.
void transfer_poset_to_internal_buffer()
Initializes the internal buffer from the poset.
static int mode_to_int(specification_mode xmode)
Converts mode xmode to an int.
std::string _str_buf
The internal/external buffer.
virtual pod_index_type get_ext_id(pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
Translates xint_id to an external id using the equivalence map with name xid_space_name.
bool is_internal() const
True if the internal buffer has been initialized.
pod_index_type lb_id() const
The index of the lower bound.
schema_poset_member & external_schema()
The schema of the poset in external namespace (mutable version).
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.
void transfer_internal_buffer_to_poset()
Initializes the poset from the internal buffer.
bool lb_is_member() const
True if mode == MEMBER_MEMBER or MEMBER_SUBPOSET.
A description of a (lower, upper) bounds pair for a poset. Specifies a portion of a poset for a bound...
A wrapper/adapter for the dof tuple column bounds record. Intended for transferring index-bounds map ...
pod_index_type pod_type
The "plain old data" storage type for this.
int_type pod_index_type
The plain old data index type.
dof_tuple_col_bounds_record(poset_scaffold &xscaffold)
Creates an instance with type map xtype_map.
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...
void put_ub_id(pod_index_type xub_id)
Sets the index of the upper bound to xub_id.
const std::string & file_id_space_name() const
The name of the id space used for the member index map.
specification_mode mode() const
Specification mode for this.
virtual ~dof_tuple_col_bounds_record()
Destructor.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
void put_is_external(bool xis_external)
Sets is_external to xis_external.