SheafSystem  0.0.0.0
sheaf::poset_handle_factory Class Reference

A factory for creating poset handles. More...

#include <poset_handle_factory.h>

Public Member Functions

 poset_handle_factory ()
 Default constructor. More...
 
virtual ~poset_handle_factory ()
 Destructor. More...
 
poset_state_handlenew_poset_handle (const std::string &xclient_class_name, poset_type xsheaf_base_class_id)
 Creates an unattached handle of type xclient_class_name or type xsheaf_base_class_id if no prototype for xclient_class_name. More...
 
void insert_prototype (const poset_state_handle *xprototype)
 Sets xprototype as the prototype for its client class. More...
 
void insert_prototype (poset_type xtype_id, const poset_state_handle *xprototype)
 Sets xprototype as the prototype for type xtype_id. More...
 
void delete_prototype (const std::string &xclass_name)
 Removes the prototype for handles of type xclass_name. More...
 
bool contains_prototype (const std::string &xclass_name) const
 True if the set of prototypes contains a prototype for handles of type xclass_name. More...
 
bool contains_prototype (poset_type xtype_id) const
 True if the set of prototypes contains a prototype for handles of type xtype_id. More...
 

Detailed Description

A factory for creating poset handles.

Definition at line 52 of file poset_handle_factory.h.

Constructor & Destructor Documentation

◆ poset_handle_factory()

sheaf::poset_handle_factory::poset_handle_factory ( )

Default constructor.

Definition at line 40 of file poset_handle_factory.cc.

References ~poset_handle_factory().

◆ ~poset_handle_factory()

sheaf::poset_handle_factory::~poset_handle_factory ( )
virtual

Destructor.

Postcondition
  • -unexecutable( "All prototypes have been deleted." )

Definition at line 68 of file poset_handle_factory.cc.

References new_poset_handle().

Referenced by poset_handle_factory().

Member Function Documentation

◆ contains_prototype() [1/2]

bool sheaf::poset_handle_factory::contains_prototype ( const std::string &  xclass_name) const

True if the set of prototypes contains a prototype for handles of type xclass_name.

Definition at line 220 of file poset_handle_factory.cc.

Referenced by delete_prototype(), insert_prototype(), and new_poset_handle().

◆ contains_prototype() [2/2]

bool sheaf::poset_handle_factory::contains_prototype ( poset_type  xtype_id) const

True if the set of prototypes contains a prototype for handles of type xtype_id.

Definition at line 245 of file poset_handle_factory.cc.

References insert_prototype().

◆ delete_prototype()

void sheaf::poset_handle_factory::delete_prototype ( const std::string &  xclass_name)

Removes the prototype for handles of type xclass_name.

Postcondition
  • !contains_prototype(xclass_name)

Definition at line 186 of file poset_handle_factory.cc.

References contains_prototype(), and sheaf::poset_state_handle::is_attached().

Referenced by insert_prototype().

◆ insert_prototype() [1/2]

void sheaf::poset_handle_factory::insert_prototype ( const poset_state_handle xprototype)

Sets xprototype as the prototype for its client class.

Precondition
  • xprototype != 0
  • !xprototype->is_attached()
Postcondition
  • contains_prototype(xprototype->class_name())

Definition at line 157 of file poset_handle_factory.cc.

References sheaf::poset_state_handle::class_name(), contains_prototype(), delete_prototype(), and sheaf::poset_state_handle::is_attached().

Referenced by fiber_bundle::at1_space::at1_space(), contains_prototype(), fiber_bundle::sec_stp_space::covariant_subposet_ct(), fiber_bundle::stp_space::covariant_subposet_ct(), fiber_bundle::sec_at0_space::covariant_subposet_ct(), fiber_bundle::sec_atp_space::covariant_subposet_ct(), fiber_bundle::atp_space::covariant_subposet_ct(), fiber_bundle::vd_space::covariant_subposet_ct(), fiber_bundle::sec_vd_space::covariant_subposet_ct(), fiber_bundle::tp_space::covariant_subposet_ct(), fiber_bundle::sec_tp_space::covariant_subposet_ct(), fiber_bundle::gln_space::gln_space(), fiber_bundle::jcb_space::jcb_space(), fiber_bundle::binary_section_space_schema_poset::make_prototype(), fiber_bundle::product_section_space_schema_poset::make_prototype(), sheaf::namespace_poset::namespace_poset(), new_poset_handle(), sheaf::poset::poset(), fiber_bundle::at0_space::put_is_covector(), fiber_bundle::sec_at1_space::sec_at1_space(), fiber_bundle::sec_jcb_space::sec_jcb_space(), fiber_bundle::sec_tuple_space::sec_tuple_space(), sheaf::namespace_poset_schema::standard_name(), fiber_bundle::tuple_space::tuple_space(), and fiber_bundle::sec_rep_space::~sec_rep_space().

◆ insert_prototype() [2/2]

void sheaf::poset_handle_factory::insert_prototype ( poset_type  xtype_id,
const poset_state_handle xprototype 
)

Sets xprototype as the prototype for type xtype_id.

Precondition
  • xprototype != 0
  • !xprototype->is_attached()
Postcondition
  • contains_prototype(xtype_id)

Definition at line 272 of file poset_handle_factory.cc.

References contains_prototype(), and sheaf::poset_state_handle::is_attached().

◆ new_poset_handle()

sheaf::poset_state_handle * sheaf::poset_handle_factory::new_poset_handle ( const std::string &  xclient_class_name,
poset_type  xsheaf_base_class_id 
)

Creates an unattached handle of type xclient_class_name or type xsheaf_base_class_id if no prototype for xclient_class_name.

Precondition
  • contains_prototype(xclient_class_name) || contains_prototype(xsheaf_base_class_id)
Postcondition
  • result != 0
  • !result->is_attached()

Definition at line 101 of file poset_handle_factory.cc.

References sheaf::poset_state_handle::class_name(), sheaf::poset_state_handle::clone(), contains_prototype(), insert_prototype(), and sheaf::poset_state_handle::is_attached().

Referenced by ~poset_handle_factory().


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