SheafSystem  0.0.0.0
fiber_bundle::section_space_schema_jims_index_space_handle Class Reference

An implementation of class explicit_index_space_handle that has a section space schema jims id space state. More...

#include <section_space_schema_jims_index_space_handle.h>

Inheritance diagram for fiber_bundle::section_space_schema_jims_index_space_handle:
sheaf::explicit_index_space_handle sheaf::index_space_handle sheaf::any

Friends

class section_space_schema_jims_index_space_state
 

SPACE FACTORY FACET

static section_space_schema_jims_index_space_handle new_space (index_space_family &xid_spaces, const std::string &xname, const index_space_handle &xbase_space_id_space, const index_space_handle &xfiber_schema_id_space, const ij_product_structure &xsection_space_schema_product)
 Create a new section space schema jims id space in the id space family xid_space with name xname, base space id space xbase_space_id_space, fiber schema id space, xfiber_schema_id_space and section space schema product structure xsection_space_schema_product. Returns a handle to the id space created. More...
 

SECTION_SPACE_SCHEMA_JIMS_INDEX_SPACE_HANDLE FACET

 section_space_schema_jims_index_space_handle ()
 Default constructor. More...
 
 section_space_schema_jims_index_space_handle (const section_space_schema_jims_index_space_handle &xother)
 Copy constructor. More...
 
 section_space_schema_jims_index_space_handle (const index_space_family &xid_spaces, pod_type xindex)
 Constructor: Attach to state with index xindex in the family xid_spaces. More...
 
 section_space_schema_jims_index_space_handle (const index_space_family &xid_spaces, const std::string &xname)
 Constructor: Attach to state with name xname in the family xid_spaces. More...
 
section_space_schema_jims_index_space_handleoperator= (const section_space_schema_jims_index_space_handle &xother)
 Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More...
 
virtual ~section_space_schema_jims_index_space_handle ()
 Destructor. More...
 
 section_space_schema_jims_index_space_handle (section_space_schema_jims_index_space_state &xstate)
 Constructor: Attach to state xstate. More...
 
section_space_schema_jims_index_space_statestate ()
 The section space schema jims id space state (mutable version). More...
 
const section_space_schema_jims_index_space_statestate () const
 The section space schema jims id space state (const version). More...
 

SECTION SPACE SCHEMA JIMS INDEX SPACE FACET

void put_factors (const index_space_handle &xbase_space_id_space, const index_space_handle &xfiber_schema_id_space, const ij_product_structure &xsection_space_schema_product)
 Set the factors for this section space schema id space. More...
 
const index_space_handlebase_space () const
 The base space jims id space. More...
 
const index_space_handlefiber_schema () const
 The fiber schema jims id space. More...
 
const ij_product_structuresection_space_schema_product_structure () const
 The product structure of the section space schema id space. More...
 
bool is_consistent () const
 True, if this id space is consistent with the base space and the fiber schema jims id spaces. More...
 
void update ()
 Make this id space consistent with the base space and fiber schema jims id spaces. More...
 

INDEX_SPACE_HANDLE FACET

virtual section_space_schema_jims_index_space_handleoperator= (const index_space_handle &xother)
 Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More...
 
virtual section_space_schema_jims_index_space_handleclone () const
 Virtual constructor, makes a new instance of the same type as this. If the handle is attached, attach to the same state. More...
 

HANDLE FACET

virtual bool conforms_to_state (const index_space_collection &xhost, pod_type xlocal_id) const
 True if this conforms to the handle type required by the state with local scope id xlocal_id in the host id space collection xhost. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Types inherited from sheaf::index_space_handle
typedef pod_index_type pod_type
 The "plain old data" index type for this. More...
 
- Public Member Functions inherited from sheaf::explicit_index_space_handle
 explicit_index_space_handle ()
 Default constructor. More...
 
 explicit_index_space_handle (const explicit_index_space_handle &xother)
 Copy constructor. More...
 
 explicit_index_space_handle (const index_space_family &xid_spaces, pod_type xindex)
 Constructor: Attach to state with index xindex in the family xid_spaces. More...
 
 explicit_index_space_handle (const index_space_family &xid_spaces, const std::string &xname)
 Constructor: Attach to state with name xname in the family xid_spaces. More...
 
explicit_index_space_handleoperator= (const explicit_index_space_handle &xother)
 Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More...
 
virtual ~explicit_index_space_handle ()
 Destructor. More...
 
virtual const index_space_familyid_spaces () const
 The id space family for this (const version). More...
 
virtual index_space_familyid_spaces ()
 The id space family for this (mutable version). More...
 
virtual size_type ct () const
 The number of members. More...
 
virtual pod_type begin () const
 Beginning id of this space. More...
 
virtual pod_type end () const
 Ending id of this space. More...
 
virtual bool contains (pod_type xid) const
 True if this space contains id xid. More...
 
virtual bool contains_unglued_hub (pod_type xid) const
 True if this space contains an id equivalent to xid in the unglued hub id space. More...
 
virtual bool contains_glued_hub (pod_type xid) const
 True if this space contains an id equivalent to xid in the glued hub id space. More...
 
virtual bool contains (pod_type xid, pod_type xhub_id) const
 True if this space contains an id xid equivalent to xhub_id in the hub id space. More...
 
virtual pod_type pod (pod_type xid) const
 The pod index in this space equivalent to xid in the hub id space. More...
 
virtual pod_type unglued_hub_pod (pod_type xid) const
 The pod index in the unglued hub id space equivalent to xid in this id space. More...
 
virtual pod_type glued_hub_pod (pod_type xid) const
 The pod index in the hub id space equivalent to xid in this id space. synonym for unglued_hub_pod(xid). More...
 
virtual bool is_persistent () const
 True if this id space should be written to disk. More...
 
virtual void new_product_structure (const abstract_product_structure &xproduct)
 Creates a new product structure for this id space by cloning the product structure, xproduct. More...
 
virtual void delete_product_structure ()
 Deletes the product structure for this id space. More...
 
virtual const abstract_product_structureproduct_structure () const
 The product structure for this id space (const version). More...
 
virtual abstract_product_structureproduct_structure ()
 The product structure for this id space (mutable version). More...
 
virtual bool has_product_structure () const
 True if this id space has a product structure. More...
 
virtual const index_space_collectionhost () const
 The host collection. More...
 
virtual pod_type index () const
 Index of this space. More...
 
virtual bool is_attached () const
 True if this handle is attached to a state. More...
 
virtual void attach_to (pod_type xindex)
 Attach to the state with index xindex in the id space family id_spaces(). More...
 
virtual void attach_to (const index_space_collection &xhost, pod_type xlocal_id)
 Attach to the state with local scope id, xlocal_id in the host id space collection xhost. More...
 
virtual void detach ()
 Detach this handle form its state, if any. More...
 
virtual index_space_handleget_id_space () const
 Allocates an id space handle from the handle pool. More...
 
virtual void release_id_space () const
 Returns this id space handle to the handle pool. More...
 
virtual bool allocated_id_space () const
 True if and only if this id space handle was allocated by the handle pool. More...
 
virtual index_space_iteratorget_iterator () const
 Allocates an id space iterator from the iterator pool. More...
 
virtual void release_iterator (index_space_iterator &xitr) const
 Returns the id space iterator xitr to the iterator pool. More...
 
virtual bool allocated_iterator (const index_space_iterator &xitr) const
 True if and only if id space iterator xitr was allocated by the iterator pool. More...
 
- Public Member Functions inherited from sheaf::index_space_handle
virtual ~index_space_handle ()
 Destructor. More...
 
bool operator== (const index_space_handle &xother) const
 True if this is a handle has the same state as xother. More...
 
const hub_index_space_handlehub_id_space () const
 The hub id space. More...
 
bool is_empty () const
 True if there are no ids in the space. More...
 
bool is_gathered () const
 True if begin() == 0 and end() == ct(). More...
 
bool contains (const scoped_index &xid) const
 True if this space contains an id equivalent to xid. synonym for contains_hub(xid.hub_pod()). More...
 
bool contains_hub (pod_type xid) const
 True if this space contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xid) More...
 
bool contains (pod_type xid, const scoped_index &xhub_id) const
 True if this space contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xid, xhub_id.hub_pod()). More...
 
pod_type pod (const scoped_index &xid) const
 The pod index in this space equivalent to xid. synonym for pod(xid.hub_pod()). More...
 
pod_type hub_pod (pod_type xid) const
 The pod index in the unglued hub id space equivalent to xid in this id space; synonym for unglued_hub_pod(pod_type). More...
 
template<typename T >
const T & product_structure () const
 The product structure of type T for this id space (const version). More...
 
template<typename T >
T & product_structure ()
 The product structure of type T for this id space (mutable version). More...
 
template<typename T >
bool product_structure_conforms_to () const
 True if the product structure for this id space conforms to type T. More...
 
std::string name () const
 Name of this space. More...
 
void put_name (const std::string &xname)
 Associate name xname with this id space. More...
 
void attach_to (const index_space_family &xid_spaces, pod_type xindex)
 Attach to the state with index xindex in the id space family xid_spaces. More...
 
void attach_to (const index_space_family &xid_spaces, const std::string &xname)
 Attach to the state with name xname in the id space family xid_spaces. More...
 
void attach_to (const std::string &xname)
 Attach to the state with name xname in the id space family id_spaces(). More...
 
void attach_to (const index_space_handle &xother)
 Attach to the state of the id space xother. More...
 
bool conforms_to_state (const index_space_family &xid_spaces, pod_type xindex) const
 True if this conforms to the handle type required by the state with index xindex in the id space family, xid_spaces. More...
 
bool conforms_to_state (const index_space_family &xid_spaces, const std::string &xname) const
 True if this conforms to the handle type required by the state with name xname in the id space family, xid_spaces. More...
 
bool conforms_to_state (pod_type xid) const
 True if this conforms to the handle type required by the state with id xid. More...
 
bool conforms_to_state (const std::string &xname) const
 True if this conforms to the handle type required by the state with name xname. More...
 
bool conforms_to_state (const index_space_handle &xother) const
 True if this conforms to the handle type required by the state of xother. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Protected Member Functions inherited from sheaf::explicit_index_space_handle
explicit_index_space_statestate ()
 The explicit state (mutable version). More...
 
const explicit_index_space_statestate () const
 The explicit state (const version). More...
 
void attach_to (explicit_index_space_state *xstate)
 Attach to the explicit id space state xstate. More...
 
virtual bool conforms_to_state (explicit_index_space_state *xstate) const
 True if this conforms to the iterator type required by the explicit id space state xstate. More...
 
explicit_index_space_statestate (pod_type xindex) const
 The explicit id space state at id xindex in id space family id_spaces(). Returns null if no id space stae is available at index xindex. More...
 
explicit_index_space_statestate (const index_space_collection &xhost, pod_type xlocal_id) const
 The explicit id space state with local scope id xlocal_id in the host id space collection xhost. More...
 
- Protected Member Functions inherited from sheaf::index_space_handle
 index_space_handle ()
 Default constructor. More...
 
 index_space_handle (const index_space_handle &xother)
 Copy constructor; disabled. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from sheaf::explicit_index_space_handle
explicit_index_space_state_state
 The explicit state. More...
 

Detailed Description

An implementation of class explicit_index_space_handle that has a section space schema jims id space state.

Definition at line 48 of file section_space_schema_jims_index_space_handle.h.

Constructor & Destructor Documentation

◆ section_space_schema_jims_index_space_handle() [1/5]

fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle ( )

◆ section_space_schema_jims_index_space_handle() [2/5]

fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle ( const section_space_schema_jims_index_space_handle xother)

Copy constructor.

Postcondition
  • (*this) == xother

Definition at line 109 of file section_space_schema_jims_index_space_handle.cc.

References invariant(), and section_space_schema_jims_index_space_handle().

◆ section_space_schema_jims_index_space_handle() [3/5]

fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle ( const index_space_family xid_spaces,
pod_type  xindex 
)

◆ section_space_schema_jims_index_space_handle() [4/5]

fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle ( const index_space_family xid_spaces,
const std::string &  xname 
)

Constructor: Attach to state with name xname in the family xid_spaces.

Precondition
  • xid_spaces.contains(xname)
  • conforms_to_state(xid_spaces, xname)
Postcondition

Definition at line 153 of file section_space_schema_jims_index_space_handle.cc.

References sheaf::explicit_index_space_handle::attach_to(), conforms_to_state(), sheaf::index_space_family::contains(), sheaf::explicit_index_space_handle::id_spaces(), invariant(), sheaf::explicit_index_space_handle::is_attached(), sheaf::index_space_handle::name(), and operator=().

◆ ~section_space_schema_jims_index_space_handle()

fiber_bundle::section_space_schema_jims_index_space_handle::~section_space_schema_jims_index_space_handle ( )
virtual

Destructor.

Definition at line 200 of file section_space_schema_jims_index_space_handle.cc.

References section_space_schema_jims_index_space_handle().

Referenced by operator=().

◆ section_space_schema_jims_index_space_handle() [5/5]

fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle ( section_space_schema_jims_index_space_state xstate)
protected

Member Function Documentation

◆ base_space()

const sheaf::index_space_handle & fiber_bundle::section_space_schema_jims_index_space_handle::base_space ( ) const

◆ clone()

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

Virtual constructor, makes a new instance of the same type as this. If the handle is attached, attach to the same state.

Postcondition
  • result != 0
  • is_same_type(result)
  • *result == *this

Reimplemented from sheaf::explicit_index_space_handle.

Definition at line 449 of file section_space_schema_jims_index_space_handle.cc.

References conforms_to_state(), sheaf::any::is_same_type(), and section_space_schema_jims_index_space_handle().

Referenced by operator=().

◆ conforms_to_state()

bool fiber_bundle::section_space_schema_jims_index_space_handle::conforms_to_state ( const index_space_collection xhost,
pod_type  xlocal_id 
) const
virtual

True if this conforms to the handle type required by the state with local scope id xlocal_id in the host id space collection xhost.

Precondition
  • xhost.contains(xlocal_id)
Postcondition
  • is_basic_query

Reimplemented from sheaf::explicit_index_space_handle.

Definition at line 481 of file section_space_schema_jims_index_space_handle.cc.

References sheaf::index_space_collection::contains(), is_ancestor_of(), and state().

Referenced by clone(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), operator=(), and section_space_schema_jims_index_space_handle().

◆ fiber_schema()

const sheaf::index_space_handle & fiber_bundle::section_space_schema_jims_index_space_handle::fiber_schema ( ) const

◆ invariant()

◆ is_ancestor_of()

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

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::explicit_index_space_handle.

Definition at line 515 of file section_space_schema_jims_index_space_handle.cc.

References invariant().

Referenced by conforms_to_state().

◆ is_consistent()

bool fiber_bundle::section_space_schema_jims_index_space_handle::is_consistent ( ) const

True, if this id space is consistent with the base space and the fiber schema jims id spaces.

Postcondition
  • is_basic_query

Definition at line 367 of file section_space_schema_jims_index_space_handle.cc.

References fiber_bundle::section_space_schema_jims_index_space_state::is_consistent(), state(), and update().

Referenced by put_factors(), section_space_schema_product_structure(), and update().

◆ new_space()

fiber_bundle::section_space_schema_jims_index_space_handle fiber_bundle::section_space_schema_jims_index_space_handle::new_space ( index_space_family xid_spaces,
const std::string &  xname,
const index_space_handle xbase_space_id_space,
const index_space_handle xfiber_schema_id_space,
const ij_product_structure xsection_space_schema_product 
)
static

Create a new section space schema jims id space in the id space family xid_space with name xname, base space id space xbase_space_id_space, fiber schema id space, xfiber_schema_id_space and section space schema product structure xsection_space_schema_product. Returns a handle to the id space created.

Precondition
  • !xname.empty()
  • !xid_spaces.contains(xname)
Postcondition
  • &result.id_spaces() == &xid_spaces
  • xid_spaces.contains(xname)
  • result.conforms_to_state(xname)
  • result.name() == xname
  • result.base_space() == xbase_space_id_space
  • result.fiber_schema() == xfiber_schema_id_space
  • -unexecutable( "result.section_space_schema_product_structure() == xsection_space_schema_product" )
  • result.begin() == 0
  • result.end() == xbase_space_id_space.end()*xfiber_schema_id_space.end()
  • result.ct() == xbase_space_id_space.ct()*xfiber_schema_id_space.ct()

Definition at line 38 of file section_space_schema_jims_index_space_handle.cc.

References sheaf::index_space_family::contains(), sheaf::index_space_handle::ct(), sheaf::index_space_handle::end(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), and section_space_schema_jims_index_space_handle().

◆ operator=() [1/2]

fiber_bundle::section_space_schema_jims_index_space_handle & fiber_bundle::section_space_schema_jims_index_space_handle::operator= ( const section_space_schema_jims_index_space_handle xother)

Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).

Precondition
  • xother.is_attached() ? conforms_to_state(xother) : true
Postcondition
  • (*this) == xother

Definition at line 179 of file section_space_schema_jims_index_space_handle.cc.

References sheaf::explicit_index_space_handle::attach_to(), conforms_to_state(), invariant(), sheaf::explicit_index_space_handle::is_attached(), and ~section_space_schema_jims_index_space_handle().

Referenced by section_space_schema_jims_index_space_handle(), and update().

◆ operator=() [2/2]

fiber_bundle::section_space_schema_jims_index_space_handle & fiber_bundle::section_space_schema_jims_index_space_handle::operator= ( const index_space_handle xother)
virtual

Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).

Precondition
  • xother.is_attached() ? conforms_to_state(xother) : true
Postcondition
  • (*this) == xother

Reimplemented from sheaf::explicit_index_space_handle.

Definition at line 427 of file section_space_schema_jims_index_space_handle.cc.

References sheaf::explicit_index_space_handle::attach_to(), clone(), conforms_to_state(), invariant(), and sheaf::index_space_handle::is_attached().

◆ put_factors()

void fiber_bundle::section_space_schema_jims_index_space_handle::put_factors ( const index_space_handle xbase_space_id_space,
const index_space_handle xfiber_schema_id_space,
const ij_product_structure xsection_space_schema_product 
)

Set the factors for this section space schema id space.

Postcondition

Definition at line 292 of file section_space_schema_jims_index_space_handle.cc.

References base_space(), invariant(), is_consistent(), fiber_bundle::section_space_schema_jims_index_space_state::put_factors(), and state().

Referenced by state().

◆ section_space_schema_product_structure()

const sheaf::ij_product_structure & fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_product_structure ( ) const

The product structure of the section space schema id space.

Postcondition
  • is_basic_query

Definition at line 350 of file section_space_schema_jims_index_space_handle.cc.

References is_consistent(), fiber_bundle::section_space_schema_jims_index_space_state::section_space_schema_product_structure(), and state().

Referenced by fiber_schema().

◆ state() [1/2]

fiber_bundle::section_space_schema_jims_index_space_state & fiber_bundle::section_space_schema_jims_index_space_handle::state ( )
protected

◆ state() [2/2]

const fiber_bundle::section_space_schema_jims_index_space_state & fiber_bundle::section_space_schema_jims_index_space_handle::state ( ) const
protected

The section space schema jims id space state (const version).

Precondition
Postcondition
  • is_basic_query

Definition at line 261 of file section_space_schema_jims_index_space_handle.cc.

References sheaf::explicit_index_space_handle::is_attached(), and put_factors().

◆ update()

void fiber_bundle::section_space_schema_jims_index_space_handle::update ( )

Make this id space consistent with the base space and fiber schema jims id spaces.

Postcondition

Definition at line 386 of file section_space_schema_jims_index_space_handle.cc.

References is_consistent(), operator=(), state(), and fiber_bundle::section_space_schema_jims_index_space_state::update().

Referenced by is_consistent().


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