SheafSystem  0.0.0.0
fiber_bundle::product_section_space_schema_crg_range Class Reference

Emulator for a range of implicit section space schema members representing the Cartesian product the mesh poset and the attribute schema poset. More...

#include <product_section_space_schema_crg_range.h>

Inheritance diagram for fiber_bundle::product_section_space_schema_crg_range:
fiber_bundle::section_space_schema_crg_range

PRODUCT_SECTION_SPACE_SCHEMA_CRG_RANGE FACET

const index_space_handle_base_id_space
 The gathered base space hub id space. More...
 
const index_space_handle_fiber_id_space
 The gathered fiber schema hub id space. More...
 
const section_space_schema_table_dof_crg_range_table_dof_range
 The table dof crg range. More...
 
 product_section_space_schema_crg_range ()
 Default constructor. More...
 
virtual ~product_section_space_schema_crg_range ()
 Destructor. More...
 
const ij_product_structureproduct_structure () const
 The product structure of the local id space,. More...
 
bool gathered_id_spaces_initialized () const
 True if the gathered id spaces have been initialized. More...
 
bool product_structure_initialized () const
 True if the product structure has been initialized. More...
 
bool table_dof_range_initialized () const
 True if the table dof range has been initialized. More...
 
void update_gathered_id_spaces ()
 Update the gathered hub id spaces for the base space and fiber schema. More...
 
void update_product_structure ()
 Update teh product structure of the local id space. More...
 
void initialize_gathered_id_spaces ()
 Initialize the gathered hub id spaces for the base space and fiber schema. More...
 
void initialize_product_structure ()
 Sets the product structure of the local id space to an ij_product_structure. More...
 
void initialize_table_dof_range (section_space_schema_table_dof_crg_range &xtable_dof_range)
 Sets the table dof crg range. More...
 
const index_space_handlegathered_id_space (poset_state_handle &xhost)
 Get the gathered hub id space for xhost. 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 product_section_space_schema_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

Emulator for a range of implicit section space schema members representing the Cartesian product the mesh poset and the attribute schema poset.

Definition at line 51 of file product_section_space_schema_crg_range.h.

Constructor & Destructor Documentation

◆ product_section_space_schema_crg_range()

fiber_bundle::product_section_space_schema_crg_range::product_section_space_schema_crg_range ( )

Default constructor.

Postcondition

Definition at line 36 of file product_section_space_schema_crg_range.cc.

References invariant(), and ~product_section_space_schema_crg_range().

Referenced by class_name(), and clone().

◆ ~product_section_space_schema_crg_range()

fiber_bundle::product_section_space_schema_crg_range::~product_section_space_schema_crg_range ( )
virtual

Destructor.

Definition at line 55 of file product_section_space_schema_crg_range.cc.

References product_structure().

Referenced by product_section_space_schema_crg_range().

Member Function Documentation

◆ atoms()

sheaf::cover_set_iterator fiber_bundle::product_section_space_schema_crg_range::atoms ( ) const
virtual

◆ class_name()

const std::string & fiber_bundle::product_section_space_schema_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 993 of file product_section_space_schema_crg_range.cc.

References is_ancestor_of(), and product_section_space_schema_crg_range().

Referenced by is_initialized().

◆ clone()

fiber_bundle::product_section_space_schema_crg_range * fiber_bundle::product_section_space_schema_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 1062 of file product_section_space_schema_crg_range.cc.

References invariant(), and product_section_space_schema_crg_range().

Referenced by is_ancestor_of().

◆ contains_member()

◆ dof_tuple_id()

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

The dof tuple id of the member with index xmbr_index.

Precondition
  • contains_member(xmbr_index)
Postcondition
  • result.is_valid()

Definition at line 798 of file product_section_space_schema_crg_range.cc.

References fiber_bundle::section_space_schema_crg_range::_fiber_schema, contains_member(), sheaf::poset_state_handle::dof_tuple_id(), implicit_private_data_size(), sheaf::scoped_index::is_valid(), and tuple().

Referenced by is_jim().

◆ finalize()

void fiber_bundle::product_section_space_schema_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 900 of file product_section_space_schema_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_gathered_id_spaces(), initialize_product_structure(), initialize_table_dof_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().

◆ gathered_id_space()

const sheaf::index_space_handle * fiber_bundle::product_section_space_schema_crg_range::gathered_id_space ( poset_state_handle xhost)
protected

Get the gathered hub id space for xhost.

Precondition
  • xhost.state_is_read_accessible()
Postcondition
  • result != 0

Definition at line 265 of file product_section_space_schema_crg_range.cc.

References contains_member(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_state_handle::release_access(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by initialize_gathered_id_spaces(), and initialize_table_dof_range().

◆ gathered_id_spaces_initialized()

bool fiber_bundle::product_section_space_schema_crg_range::gathered_id_spaces_initialized ( ) const

True if the gathered id spaces have been initialized.

Postcondition
  • is_basic_query

Definition at line 94 of file product_section_space_schema_crg_range.cc.

References _base_id_space, _fiber_id_space, and product_structure_initialized().

Referenced by initialize_gathered_id_spaces(), initialize_product_structure(), and product_structure().

◆ get_implicit_private_data()

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

The private data for this instance.

Postcondition

Definition at line 853 of file product_section_space_schema_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()

◆ implicit_cover_contains_member()

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

◆ implicit_cover_is_empty()

bool fiber_bundle::product_section_space_schema_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 569 of file product_section_space_schema_crg_range.cc.

References contains_member(), and implicit_cover_size().

Referenced by implicit_cover_iterator().

◆ implicit_cover_iterator()

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

◆ implicit_cover_size()

sheaf::size_type fiber_bundle::product_section_space_schema_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 590 of file product_section_space_schema_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::cover_ct(), implicit_cover_contains_member(), sheaf::poset_state_handle::is_atom(), and tuple().

Referenced by implicit_cover_is_empty().

◆ implicit_first_cover_member()

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

◆ implicit_private_data_size()

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

The size of the private data.

Postcondition
  • is_basic_query

Definition at line 836 of file product_section_space_schema_crg_range.cc.

References get_implicit_private_data().

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

◆ initialize_gathered_id_spaces()

◆ initialize_product_structure()

void fiber_bundle::product_section_space_schema_crg_range::initialize_product_structure ( )
protected

◆ initialize_table_dof_range()

void fiber_bundle::product_section_space_schema_crg_range::initialize_table_dof_range ( section_space_schema_table_dof_crg_range xtable_dof_range)
protected

Sets the table dof crg range.

Precondition
  • !table_dof_range_initialized()
Postcondition

Definition at line 244 of file product_section_space_schema_crg_range.cc.

References _table_dof_range, gathered_id_space(), and table_dof_range_initialized().

Referenced by finalize(), and initialize_product_structure().

◆ invariant()

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

◆ is_ancestor_of()

bool fiber_bundle::product_section_space_schema_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 1041 of file product_section_space_schema_crg_range.cc.

References clone().

Referenced by class_name().

◆ is_initialized()

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

◆ is_jim()

bool fiber_bundle::product_section_space_schema_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 771 of file product_section_space_schema_crg_range.cc.

References fiber_bundle::section_space_schema_crg_range::_base_space, fiber_bundle::section_space_schema_crg_range::_fiber_schema, contains_member(), dof_tuple_id(), sheaf::poset_state_handle::is_jim(), and tuple().

Referenced by implicit_first_cover_member().

◆ ordinal()

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

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

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

Implements fiber_bundle::section_space_schema_crg_range.

Definition at line 364 of file product_section_space_schema_crg_range.cc.

References _base_id_space, _fiber_id_space, contains_member(), get_size(), sheaf::ij_product_structure::ordinal(), sheaf::index_space_handle::pod(), and product_structure().

Referenced by atoms(), fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_iterator(), implicit_cover_iterator(), implicit_first_cover_member(), fiber_bundle::product_section_space_schema_poset::initialize_standard_members(), fiber_bundle::product_section_space_schema_poset::ordinal(), and tuple().

◆ product_structure()

const sheaf::ij_product_structure & fiber_bundle::product_section_space_schema_crg_range::product_structure ( ) const

◆ product_structure_initialized()

bool fiber_bundle::product_section_space_schema_crg_range::product_structure_initialized ( ) const

True if the product structure has been initialized.

Postcondition
  • is_basic_query

Definition at line 113 of file product_section_space_schema_crg_range.cc.

References table_dof_range_initialized().

Referenced by gathered_id_spaces_initialized(), initialize_product_structure(), is_initialized(), and product_structure().

◆ put_implicit_private_data()

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

Initializes this using private data xdata.

Precondition
Postcondition

Definition at line 872 of file product_section_space_schema_crg_range.cc.

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

Referenced by get_implicit_private_data().

◆ table_dof_range_initialized()

bool fiber_bundle::product_section_space_schema_crg_range::table_dof_range_initialized ( ) const

True if the table dof range has been initialized.

Postcondition
  • is_basic_query

Definition at line 132 of file product_section_space_schema_crg_range.cc.

References _table_dof_range, and update_gathered_id_spaces().

Referenced by initialize_table_dof_range(), is_initialized(), and product_structure_initialized().

◆ tuple()

void fiber_bundle::product_section_space_schema_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 336 of file product_section_space_schema_crg_range.cc.

References _base_id_space, _fiber_id_space, contains_member(), sheaf::index_space_handle::hub_pod(), ordinal(), product_structure(), and sheaf::ij_product_structure::tuple().

Referenced by contains_member(), dof_tuple_id(), fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_contains_member(), implicit_cover_contains_member(), implicit_cover_iterator(), implicit_cover_size(), implicit_first_cover_member(), is_jim(), and fiber_bundle::product_section_space_schema_poset::tuple().

◆ update_gathered_id_spaces()

void fiber_bundle::product_section_space_schema_crg_range::update_gathered_id_spaces ( )

◆ update_product_structure()

void fiber_bundle::product_section_space_schema_crg_range::update_product_structure ( )

Member Data Documentation

◆ _base_id_space

const index_space_handle* fiber_bundle::product_section_space_schema_crg_range::_base_id_space
protected

◆ _fiber_id_space

const index_space_handle* fiber_bundle::product_section_space_schema_crg_range::_fiber_id_space
protected

◆ _table_dof_range

const section_space_schema_table_dof_crg_range* fiber_bundle::product_section_space_schema_crg_range::_table_dof_range
protected

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