SheafSystem  0.0.0.0
fiber_bundle::section_space_schema_table_dof_crg_range Class Reference

Abstract emulator for a range of implicit section space schema members. More...

#include <section_space_schema_table_dof_crg_range.h>

Inheritance diagram for fiber_bundle::section_space_schema_table_dof_crg_range:
fiber_bundle::section_space_schema_crg_range

SECTION_SPACE_SCHEMA_TABLE_DOF_CRG_RANGE FACET

const product_section_space_schema_crg_range_product_range
 The product crg range. More...
 
 section_space_schema_table_dof_crg_range ()
 Default constructor. More...
 
virtual ~section_space_schema_table_dof_crg_range ()
 Destructor. More...
 
bool product_range_initialized () const
 True if the product range has been initialized. More...
 
void initialize_product_range (product_section_space_schema_crg_range &xproduct_range)
 Sets the product crg range. More...
 
virtual bool contains_member (pod_index_type xbase_space_id, pod_index_type xfiber_schema_id) const
 True if this range contains the member with base space id xbase_space_id and fiber schema id xfiber_schema_id. More...
 
virtual void tuple (pod_index_type xindex, pod_index_type &xbase_space_id, pod_index_type &xfiber_schema_id) const
 The tuple conversion from section space schema id xindex to the base space id xbase_space_id and fiber schema id xfiber_schema_id. More...
 
virtual void ordinal (pod_index_type xbase_space_id, pod_index_type xfiber_schema_id, pod_index_type &xindex) const
 The ordinal conversion from base space id xbase_space_id and fiber schema id xfiber_schema_id to section space schema id xindex. More...
 

RANGE FACET

virtual cover_set_iterator atoms () const
 An iterator over the atoms in this range. More...
 
static void get_size (const product_section_space_schema_poset &xhost, size_type &result)
 The size for an instance created with parameter xhost. More...
 

COVER SET FACET

virtual cover_set_iterator implicit_cover_iterator (bool xlower, pod_index_type xmbr_index) const
 Iterator for lower (xlower true) or upper (xlower false) cover set of the member with index xmbr_index. More...
 
virtual bool implicit_cover_is_empty (bool xlower, pod_index_type xmbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with index xmbr_index is empty. More...
 
virtual size_type implicit_cover_size (bool xlower, pod_index_type xmbr_index) const
 The number of members in the lower (xlower true) or upper (xlower false) cover set. More...
 
virtual bool implicit_cover_contains_member (bool xlower, pod_index_type xmbr_index, pod_index_type xother_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set contains xindex. More...
 
virtual pod_index_type implicit_first_cover_member (bool xlower, pod_index_type xmbr_index) const
 The first member of the lower (xlower true) or upper (xlower false) cover. More...
 

DOF_TUPLE_ID FACET

virtual bool is_jim (pod_index_type xmbr_index) const
 True if and only if the member with index xmbr_index is join-irreducible. More...
 
virtual const scoped_indexdof_tuple_id (pod_index_type xmbr_index) const
 The dof tuple id of the member with index xmbr_index. More...
 

PRIVATE_DATA FACET

virtual size_type implicit_private_data_size () const
 The size of the private data. More...
 
virtual void get_implicit_private_data (block< pod_index_type > &xdata) const
 The private data for this instance. More...
 
virtual void put_implicit_private_data (const block< pod_index_type > &xdata)
 Initializes this using private data xdata. More...
 

FINIALIZE FACET

virtual void finalize (poset_state_handle &xhost)
 Finialize the initialization of this crg range in the host xhost. More...
 

FACTORY FACET

virtual bool is_initialized () const
 True if fully initialized. More...
 
virtual const std::string & class_name () const
 The name of this class; provided to satisfy factory template. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to this. More...
 
virtual section_space_schema_table_dof_crg_rangeclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from fiber_bundle::section_space_schema_crg_range
 section_space_schema_crg_range ()
 Default constructor. More...
 
virtual ~section_space_schema_crg_range ()
 Destructor. More...
 
base_space_posetbase_space ()
 The base space for section spaces on this schema (mutable version). More...
 
const base_space_posetbase_space () const
 The base space for section spaces on this schema (const version). More...
 
bool base_space_initialized () const
 True if the base space has been initialized. More...
 
poset_state_handlefiber_schema ()
 The fiber schema for section spaces on this schema (mutable version). More...
 
const poset_state_handlefiber_schema () const
 The fiber schema for section spaces on this schema (const version). More...
 
bool fiber_schema_initialized () const
 True if the fiber schema has been initialized. More...
 
- Protected Member Functions inherited from fiber_bundle::section_space_schema_crg_range
void initialize_base_space (base_space_poset &xbase_space)
 Sets the base space for section spaces on this schema to xbase_space. More...
 
void initialize_fiber_schema (poset_state_handle &xfiber_schema)
 Sets the fiber schema for section spaces on this schema to xfiber_schema. More...
 
virtual bool implicit_cover_contains_iterator (bool xlower, pod_index_type xmbr_index, const cover_set_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with index xmbr_index. is the domain of iterator xitr. More...
 
virtual bool implicit_cover_is_singleton (bool xlower, pod_index_type xmbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set contains exactly one member. More...
 
- Protected Attributes inherited from fiber_bundle::section_space_schema_crg_range
base_space_poset_base_space
 The base space for section spaces on this schema. More...
 
poset_state_handle_fiber_schema
 The fiber schema for section spaces on this schema. More...
 

Detailed Description

Abstract emulator for a range of implicit section space schema members.

Definition at line 48 of file section_space_schema_table_dof_crg_range.h.

Constructor & Destructor Documentation

◆ section_space_schema_table_dof_crg_range()

fiber_bundle::section_space_schema_table_dof_crg_range::section_space_schema_table_dof_crg_range ( )

Default constructor.

Postcondition

Definition at line 37 of file section_space_schema_table_dof_crg_range.cc.

References invariant(), and ~section_space_schema_table_dof_crg_range().

Referenced by class_name(), and clone().

◆ ~section_space_schema_table_dof_crg_range()

fiber_bundle::section_space_schema_table_dof_crg_range::~section_space_schema_table_dof_crg_range ( )
virtual

Member Function Documentation

◆ atoms()

◆ class_name()

const std::string & fiber_bundle::section_space_schema_table_dof_crg_range::class_name ( ) const
virtual

The name of this class; provided to satisfy factory template.

Reimplemented from fiber_bundle::section_space_schema_crg_range.

Definition at line 666 of file section_space_schema_table_dof_crg_range.cc.

References is_ancestor_of(), and section_space_schema_table_dof_crg_range().

Referenced by is_initialized().

◆ clone()

fiber_bundle::section_space_schema_table_dof_crg_range * fiber_bundle::section_space_schema_table_dof_crg_range::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from fiber_bundle::section_space_schema_crg_range.

Definition at line 735 of file section_space_schema_table_dof_crg_range.cc.

References invariant(), and section_space_schema_table_dof_crg_range().

Referenced by is_ancestor_of().

◆ contains_member()

◆ dof_tuple_id()

const sheaf::scoped_index & fiber_bundle::section_space_schema_table_dof_crg_range::dof_tuple_id ( pod_index_type  xmbr_index) const
virtual

◆ finalize()

void fiber_bundle::section_space_schema_table_dof_crg_range::finalize ( poset_state_handle xhost)
virtual

Finialize the initialization of this crg range in the host xhost.

Precondition
  • dynamic_cast<product_section_space_schema_poset*>(&xhost) != 0
  • xhost.state_is_read_accessible()
Hack:
this same call is made in poset_crg_state::new_member_range, where it fails silectly because the vertex range is empty. This protocol is way too arcane and we need to find some better way.
Postcondition

Definition at line 584 of file section_space_schema_table_dof_crg_range.cc.

References atoms(), fiber_bundle::section_space_schema_crg_range::initialize_base_space(), fiber_bundle::section_space_schema_crg_range::initialize_fiber_schema(), initialize_product_range(), invariant(), is_initialized(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::UPPER.

Referenced by fiber_bundle::product_section_space_schema_poset::initialize_standard_members(), and put_implicit_private_data().

◆ get_implicit_private_data()

void fiber_bundle::section_space_schema_table_dof_crg_range::get_implicit_private_data ( block< pod_index_type > &  xdata) const
protectedvirtual

The private data for this instance.

Postcondition

Definition at line 537 of file section_space_schema_table_dof_crg_range.cc.

References sheaf::auto_block< T, S >::ct(), implicit_private_data_size(), and put_implicit_private_data().

Referenced by implicit_private_data_size().

◆ get_size()

void fiber_bundle::section_space_schema_table_dof_crg_range::get_size ( const product_section_space_schema_poset xhost,
size_type result 
)
static

◆ implicit_cover_contains_member()

bool fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_contains_member ( bool  xlower,
pod_index_type  xmbr_index,
pod_index_type  xother_index 
) const
protectedvirtual

True if and only if the lower (xlower true) or upper (xlower false) cover set contains xindex.

Precondition
  • contains_member(xmbr_index)
Postcondition
  • is_basic_query

Definition at line 371 of file section_space_schema_table_dof_crg_range.cc.

References _product_range, contains_member(), fiber_bundle::product_section_space_schema_crg_range::contains_member(), implicit_first_cover_member(), tuple(), and fiber_bundle::product_section_space_schema_crg_range::tuple().

Referenced by implicit_cover_size().

◆ implicit_cover_is_empty()

bool fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_is_empty ( bool  xlower,
pod_index_type  xmbr_index 
) const
protectedvirtual

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with index xmbr_index is empty.

Precondition
  • contains_member(xmbr_index)
Postcondition
  • is_basic_query

Definition at line 320 of file section_space_schema_table_dof_crg_range.cc.

References contains_member(), and implicit_cover_size().

Referenced by implicit_cover_iterator().

◆ implicit_cover_iterator()

sheaf::cover_set_iterator fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_iterator ( bool  xlower,
pod_index_type  xmbr_index 
) const
protectedvirtual

Iterator for lower (xlower true) or upper (xlower false) cover set of the member with index xmbr_index.

Precondition
  • contains_member(xmbr_index)

Definition at line 279 of file section_space_schema_table_dof_crg_range.cc.

References fiber_bundle::section_space_schema_crg_range::_base_space, _product_range, contains_member(), implicit_cover_is_empty(), fiber_bundle::product_section_space_schema_crg_range::ordinal(), and tuple().

Referenced by atoms().

◆ implicit_cover_size()

sheaf::size_type fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_size ( bool  xlower,
pod_index_type  xmbr_index 
) const
protectedvirtual

The number of members in the lower (xlower true) or upper (xlower false) cover set.

Precondition
  • contains_member(xmbr_index)
Postcondition
  • is_basic_query

Definition at line 341 of file section_space_schema_table_dof_crg_range.cc.

References fiber_bundle::section_space_schema_crg_range::_base_space, contains_member(), sheaf::poset_state_handle::cover_ct(), and implicit_cover_contains_member().

Referenced by implicit_cover_is_empty().

◆ implicit_first_cover_member()

sheaf::pod_index_type fiber_bundle::section_space_schema_table_dof_crg_range::implicit_first_cover_member ( bool  xlower,
pod_index_type  xmbr_index 
) const
protectedvirtual

The first member of the lower (xlower true) or upper (xlower false) cover.

Precondition
  • contains_member(xmbr_index)
  • !cover_is_empty(xlower, xmbr_index)
Postcondition
  • is_basic_query

Definition at line 422 of file section_space_schema_table_dof_crg_range.cc.

References fiber_bundle::section_space_schema_crg_range::_base_space, fiber_bundle::section_space_schema_crg_range::_fiber_schema, contains_member(), sheaf::poset_state_handle::first_cover_member(), sheaf::poset_state_handle::is_atom(), and is_jim().

Referenced by implicit_cover_contains_member().

◆ implicit_private_data_size()

sheaf::size_type fiber_bundle::section_space_schema_table_dof_crg_range::implicit_private_data_size ( ) const
protectedvirtual

The size of the private data.

Postcondition
  • is_basic_query

Definition at line 520 of file section_space_schema_table_dof_crg_range.cc.

References get_implicit_private_data().

Referenced by dof_tuple_id(), get_implicit_private_data(), and put_implicit_private_data().

◆ initialize_product_range()

void fiber_bundle::section_space_schema_table_dof_crg_range::initialize_product_range ( product_section_space_schema_crg_range xproduct_range)
protected

Sets the product crg range.

Precondition
  • !product_range_initialized()
Postcondition

Definition at line 90 of file section_space_schema_table_dof_crg_range.cc.

References _product_range, contains_member(), and product_range_initialized().

Referenced by finalize(), and product_range_initialized().

◆ invariant()

bool fiber_bundle::section_space_schema_table_dof_crg_range::invariant ( ) const
virtual

Class invariant.

Invariant
  • implicit_crg_range::invariant()

Reimplemented from fiber_bundle::section_space_schema_crg_range.

Definition at line 756 of file section_space_schema_table_dof_crg_range.cc.

Referenced by clone(), finalize(), put_implicit_private_data(), and section_space_schema_table_dof_crg_range().

◆ is_ancestor_of()

bool fiber_bundle::section_space_schema_table_dof_crg_range::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from fiber_bundle::section_space_schema_crg_range.

Definition at line 714 of file section_space_schema_table_dof_crg_range.cc.

References clone().

Referenced by class_name().

◆ is_initialized()

bool fiber_bundle::section_space_schema_table_dof_crg_range::is_initialized ( ) const
virtual

True if fully initialized.

Postcondition
  • is_basic_query

Definition at line 645 of file section_space_schema_table_dof_crg_range.cc.

References class_name(), and product_range_initialized().

Referenced by finalize().

◆ is_jim()

bool fiber_bundle::section_space_schema_table_dof_crg_range::is_jim ( pod_index_type  xmbr_index) const
virtual

True if and only if the member with index xmbr_index is join-irreducible.

Precondition
  • contains_member(xmbr_index)
Postcondition
  • is_basic_query

Definition at line 462 of file section_space_schema_table_dof_crg_range.cc.

References contains_member(), and dof_tuple_id().

Referenced by implicit_first_cover_member().

◆ ordinal()

void fiber_bundle::section_space_schema_table_dof_crg_range::ordinal ( pod_index_type  xbase_space_id,
pod_index_type  xfiber_schema_id,
pod_index_type xindex 
) const
virtual

◆ product_range_initialized()

bool fiber_bundle::section_space_schema_table_dof_crg_range::product_range_initialized ( ) const

True if the product range has been initialized.

Postcondition
  • is_basic_query

Definition at line 69 of file section_space_schema_table_dof_crg_range.cc.

References _product_range, and initialize_product_range().

Referenced by initialize_product_range(), is_initialized(), and ~section_space_schema_table_dof_crg_range().

◆ put_implicit_private_data()

void fiber_bundle::section_space_schema_table_dof_crg_range::put_implicit_private_data ( const block< pod_index_type > &  xdata)
protectedvirtual

Initializes this using private data xdata.

Precondition
Postcondition

Definition at line 556 of file section_space_schema_table_dof_crg_range.cc.

References sheaf::auto_block< T, S >::ct(), finalize(), implicit_private_data_size(), and invariant().

Referenced by get_implicit_private_data().

◆ tuple()

void fiber_bundle::section_space_schema_table_dof_crg_range::tuple ( pod_index_type  xindex,
pod_index_type xbase_space_id,
pod_index_type xfiber_schema_id 
) const
virtual

The tuple conversion from section space schema id xindex to the base space id xbase_space_id and fiber schema id xfiber_schema_id.

Precondition
  • local_id_space().contains_hub(xindex)
Postcondition
  • contains_member(xbase_space_id, xfiber_schema_id)

Implements fiber_bundle::section_space_schema_crg_range.

Definition at line 142 of file section_space_schema_table_dof_crg_range.cc.

References fiber_bundle::section_space_schema_crg_range::_fiber_schema, contains_member(), sheaf::index_space_handle::hub_pod(), sheaf::subposet::id_space(), ordinal(), and sheaf::poset_state_handle::table_dof_subposet().

Referenced by contains_member(), implicit_cover_contains_member(), fiber_bundle::product_section_space_schema_crg_range::implicit_cover_contains_member(), implicit_cover_iterator(), and fiber_bundle::product_section_space_schema_poset::tuple().

Member Data Documentation

◆ _product_range

const product_section_space_schema_crg_range* fiber_bundle::section_space_schema_table_dof_crg_range::_product_range
protected

The documentation for this class was generated from the following files: