SheafSystem  0.0.0.0
fields::field_factory_2< coord_type, prop_type, base_type > Class Template Reference

A factory for making field_vd objects with coordinates section of type coord_type, property section of type prop_type and base space of type base_type. More...

#include <field_factory_2.h>

FIELD_FACTORY_2 FACET

typedef field_traits< prop_type >::field_type field_type
 Typedef: The type of the field to create. More...
 
 field_factory_2 ()
 Default constructor. More...
 
virtual ~field_factory_2 ()
 Destructor. More...
 
field_typenew_field (fiber_bundles_namespace &xns, const poset_path &xbase_path, const poset_path &xcoord_path, const poset_path &xprop_path, bool xauto_access)
 Creates a new field with base specified by xbase_path, coordinates specified by xcoord_path, and property specified by xprop_path. Note that poset names specified by xcoord_path and xprop_path must exist and be accessible.. More...
 
field_typestandard_field (fiber_bundles_namespace &xns, const poset_path &xbase_path, const std::string &xcoord_name, const std::string &xprop_name, bool xauto_access)
 Creates a new field with base specified by xbase_path, coordinates with name xcoord_name, and property with name xprop_name. Standard section space hosts will be used for the coordinate and property sections. More...
 

BASE SPACE FACET

poset_pathbase_schema_path ()
 The base space schema path. More...
 
wsv_block< int > & base_index_ubs ()
 The base space index bounds. More...
 
poset_pathlocal_cell_prototype_path ()
 The path of the local cell prototype for unstructured meshes. More...
 

COORDINATES SECTION FACET

poset_pathcoord_rep_path ()
 The coordinates representation descriptor path. More...
 
std::string & coord_fiber_suffix ()
 The fiber suffix for the coordinates section space. More...
 
std::string & coord_section_suffix ()
 The section suffix for the coordinates section space. More...
 
wsv_block< sec_vd_value_type > & coord_lb ()
 The coordinates lower bound. More...
 
wsv_block< sec_vd_value_type > & coord_ub ()
 The coordinates upper bound. More...
 

PROPERTY SECTION FACET

poset_pathprop_rep_path ()
 The property representation descriptor path. More...
 
std::string & prop_fiber_suffix ()
 The fiber suffix for the property section space. More...
 
std::string & prop_section_suffix ()
 The section suffix for the property section space. More...
 
wsv_block< sec_vd_value_type > & prop_lb ()
 The property lower bound. More...
 
wsv_block< sec_vd_value_type > & prop_ub ()
 The property upper bound. More...
 

Detailed Description

template<typename coord_type, typename prop_type, typename base_type>
class fields::field_factory_2< coord_type, prop_type, base_type >

A factory for making field_vd objects with coordinates section of type coord_type, property section of type prop_type and base space of type base_type.

Definition at line 248 of file field_factory_2.h.

Member Typedef Documentation

◆ field_type

template<typename coord_type , typename prop_type , typename base_type >
typedef field_traits<prop_type>::field_type fields::field_factory_2< coord_type, prop_type, base_type >::field_type

Typedef: The type of the field to create.

Definition at line 261 of file field_factory_2.h.

Constructor & Destructor Documentation

◆ field_factory_2()

template<typename coord_type , typename prop_type , typename base_type >
fields::field_factory_2< coord_type, prop_type, base_type >::field_factory_2 ( )

Default constructor.

Definition at line 967 of file field_factory_2.impl.h.

◆ ~field_factory_2()

template<typename coord_type , typename prop_type , typename base_type >
fields::field_factory_2< coord_type, prop_type, base_type >::~field_factory_2 ( )
virtual

Destructor.

Definition at line 984 of file field_factory_2.impl.h.

Member Function Documentation

◆ base_index_ubs()

template<typename coord_type , typename prop_type , typename base_type >
wsv_block< int > & fields::field_factory_2< coord_type, prop_type, base_type >::base_index_ubs ( )

The base space index bounds.

Definition at line 1299 of file field_factory_2.impl.h.

◆ base_schema_path()

template<typename coord_type , typename prop_type , typename base_type >
poset_path & fields::field_factory_2< coord_type, prop_type, base_type >::base_schema_path ( )

The base space schema path.

Definition at line 1291 of file field_factory_2.impl.h.

◆ coord_fiber_suffix()

template<typename coord_type , typename prop_type , typename base_type >
std::string & fields::field_factory_2< coord_type, prop_type, base_type >::coord_fiber_suffix ( )

The fiber suffix for the coordinates section space.

Definition at line 1331 of file field_factory_2.impl.h.

◆ coord_lb()

template<typename coord_type , typename prop_type , typename base_type >
wsv_block< sec_vd_value_type > & fields::field_factory_2< coord_type, prop_type, base_type >::coord_lb ( )

The coordinates lower bound.

Definition at line 1347 of file field_factory_2.impl.h.

◆ coord_rep_path()

template<typename coord_type , typename prop_type , typename base_type >
poset_path & fields::field_factory_2< coord_type, prop_type, base_type >::coord_rep_path ( )

The coordinates representation descriptor path.

Definition at line 1323 of file field_factory_2.impl.h.

◆ coord_section_suffix()

template<typename coord_type , typename prop_type , typename base_type >
std::string & fields::field_factory_2< coord_type, prop_type, base_type >::coord_section_suffix ( )

The section suffix for the coordinates section space.

Definition at line 1339 of file field_factory_2.impl.h.

◆ coord_ub()

template<typename coord_type , typename prop_type , typename base_type >
wsv_block< sec_vd_value_type > & fields::field_factory_2< coord_type, prop_type, base_type >::coord_ub ( )

The coordinates upper bound.

Definition at line 1355 of file field_factory_2.impl.h.

◆ local_cell_prototype_path()

template<typename coord_type , typename prop_type , typename base_type >
poset_path & fields::field_factory_2< coord_type, prop_type, base_type >::local_cell_prototype_path ( )

The path of the local cell prototype for unstructured meshes.

Definition at line 1307 of file field_factory_2.impl.h.

◆ new_field()

template<typename coord_type , typename prop_type , typename base_type >
field_traits< prop_type >::field_type * fields::field_factory_2< coord_type, prop_type, base_type >::new_field ( fiber_bundles_namespace xns,
const poset_path xbase_path,
const poset_path xcoord_path,
const poset_path xprop_path,
bool  xauto_access 
)

Creates a new field with base specified by xbase_path, coordinates specified by xcoord_path, and property specified by xprop_path. Note that poset names specified by xcoord_path and xprop_path must exist and be accessible..

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • xbase_path.full()
  • -unexecutable( "base exists or index_ubs compatible with base_type" )
  • xcoord_path.full()
  • xns.path_is_auto_read_write_accessible<typename coord_type::host_type>(xcoord_path.poset_name(), xauto_access)
  • xprop_path.full()
  • xns.path_is_auto_read_write_accessible<typename prop_type::host_type>(xprop_path.poset_name(), xauto_access)
Postcondition
  • result->base_space().path(true) == xbase_path
  • result->coordinates().path(true) == xcoord_path
  • result->property().path(true) == xprop_path

Definition at line 1004 of file field_factory_2.impl.h.

References sheaf::poset_path::full(), sheaf::poset_state_handle::get_read_access(), sheaf::namespace_poset::get_read_write_access(), fields::make_base_space(), sheaf::namespace_poset::member_poset(), sheaf::poset_path::path(), sheaf::namespace_poset::path(), sheaf::namespace_poset::path_is_auto_read_write_accessible(), sheaf::poset_path::poset_name(), sheaf::namespace_poset::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

◆ prop_fiber_suffix()

template<typename coord_type , typename prop_type , typename base_type >
std::string & fields::field_factory_2< coord_type, prop_type, base_type >::prop_fiber_suffix ( )

The fiber suffix for the property section space.

Definition at line 1378 of file field_factory_2.impl.h.

◆ prop_lb()

template<typename coord_type , typename prop_type , typename base_type >
wsv_block< sec_vd_value_type > & fields::field_factory_2< coord_type, prop_type, base_type >::prop_lb ( )

The property lower bound.

Definition at line 1394 of file field_factory_2.impl.h.

◆ prop_rep_path()

template<typename coord_type , typename prop_type , typename base_type >
poset_path & fields::field_factory_2< coord_type, prop_type, base_type >::prop_rep_path ( )

The property representation descriptor path.

Definition at line 1370 of file field_factory_2.impl.h.

◆ prop_section_suffix()

template<typename coord_type , typename prop_type , typename base_type >
std::string & fields::field_factory_2< coord_type, prop_type, base_type >::prop_section_suffix ( )

The section suffix for the property section space.

Definition at line 1386 of file field_factory_2.impl.h.

◆ prop_ub()

template<typename coord_type , typename prop_type , typename base_type >
wsv_block< sec_vd_value_type > & fields::field_factory_2< coord_type, prop_type, base_type >::prop_ub ( )

The property upper bound.

Definition at line 1402 of file field_factory_2.impl.h.

◆ standard_field()

template<typename coord_type , typename prop_type , typename base_type >
field_traits< prop_type >::field_type * fields::field_factory_2< coord_type, prop_type, base_type >::standard_field ( fiber_bundles_namespace xns,
const poset_path xbase_path,
const std::string &  xcoord_name,
const std::string &  xprop_name,
bool  xauto_access 
)

Creates a new field with base specified by xbase_path, coordinates with name xcoord_name, and property with name xprop_name. Standard section space hosts will be used for the coordinate and property sections.

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • xbase_path.full()
  • -unexecutable( "base exists or index_ubs compatible with base_type" )
  • poset_path::is_valid_name(xcoord_name)
  • poset_path::is_valid_name(xprop_name)
  • coord_rep_path().empty() || xns.path_is_auto_read_accessible<sec_rep_descriptor_poset>(coord_rep_path(), xauto_access)
  • coord_type::fiber_type::template standard_host_is_available<typename coord_type::fiber_type>(xns, coord_fiber_suffix(), xauto_access)
  • prop_rep_path().empty() || xns.path_is_auto_read_accessible<sec_rep_descriptor_poset>(prop_rep_path(), xauto_access)
  • prop_type::fiber_type::template standard_host_is_available<typename prop_type::fiber_type>(xns, prop_fiber_suffix(), xauto_access)
Postcondition
  • result->base_space().path(true) == xbase_path
  • result->coordinates().path(true).member_name() == xcoord_name
  • result->property().path(true).member_name() == xprop_name

Definition at line 1132 of file field_factory_2.impl.h.

References sheaf::poset_path::full(), sheaf::namespace_poset::get_read_write_access(), sheaf::poset_path::is_valid_name(), fields::make_base_space(), sheaf::poset_path::path(), sheaf::namespace_poset::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), sheaf::namespace_poset::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().


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