ViennaGrid - The Vienna Grid Library  2.1.0
Data Structures | Namespaces | Functions
viennagrid/accessor.hpp File Reference

Defines various accessors for storing data for the different element types. More...

#include <stdexcept>
#include <assert.h>
#include "viennagrid/forwards.hpp"
#include "viennagrid/storage/id.hpp"
#include "viennagrid/storage/container_collection.hpp"

Go to the source code of this file.

Data Structures

struct  accessor_container< ElementT, ValueT, ContainerTagT >
 Returns the underlying container type for storing data of type 'ValueT' on elements of type 'ElementT'. More...
class  appendix_accessor< value_type_, element_type >
 Accessor class for the data members appended (injected) to an element. More...
class  base_dynamic_accessor< ValueType, AccessType >
 Base class for all dynamic accessor. More...
class  base_dynamic_field< ValueType, AccessType >
 Common base class for dynamic data accessors fulfilling the field concept. More...
struct  base_id_unpack
struct  default_point_accessor< mesh_or_element_type >
 Metafunction returning the default point accessor type for a vertex. More...
class  dense_container_accessor< ContainerType, AccessType, UnpackT >
 Implementation of an accessor for dense containers (most importantly std::vector, std::deque) which fulfills the accessor concept. More...
class  dense_container_field< ContainerType, AccessType, UnpackT >
 Accessor class implementing the field concept for dense containers (most importantly std::vector<> and std::deque<>). More...
class  dynamic_accessor_wrapper< AccessorType >
 A dynamic accessor class which wraps any user accessor type fulfilling the accessor concept. More...
class  dynamic_field_wrapper< FieldType, AccessType >
 A dynamic accessor class which wraps any user accessor type fulfilling the field concept. More...
struct  id_unpack
class  std_map_accessor< ContainerType, AccessType, UnpackT >
 An accessor (fulfilling the accessor concept) for a container of interface similar to std::map<> More...
class  std_map_field< ContainerType, AccessType, UnpackT >
 An accessor (fulfilling the field concept) for a container of interface similar to std::map<> More...
struct  unpack< const std::deque< T, Alloc > >
struct  unpack< const std::map< Key, T, Compare, Alloc > >
struct  unpack< const std::vector< T, Alloc > >
struct  unpack< std::deque< T, Alloc > >
struct  unpack< std::map< Key, T, Compare, Alloc > >
struct  unpack< std::vector< T, Alloc > >

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces.


namespace  viennagrid::result_of
 

The metafunction layer. Provides type generators that derive the respective type from the mesh configuration.


Functions

template<typename mesh_or_element_type >
result_of::default_point_accessor
< mesh_or_element_type >::type 
default_point_accessor (mesh_or_element_type const &)
 Convenience function for returning the default point accessor (i.e. accessing the point stored in the element's appendix) for a mesh or element.
template<typename AccessType , typename ContainerType >
result_of::accessor
< ContainerType, AccessType >
::type 
make_accessor (ContainerType &container)
 Convenience function for returning an accessor for the supplied container. Non-const version.
template<typename AccessType , typename ContainerType >
result_of::accessor< const
ContainerType, AccessType >
::type 
make_accessor (ContainerType const &container)
 Convenience function for returning an accessor for the supplied container. Const-version.
template<typename AccessType , typename ContainerCollectionTypemapT >
result_of::accessor< typename
result_of::container_of
< ContainerCollectionTypemapT,
AccessType >::type, AccessType >
::type 
make_accessor (collection< ContainerCollectionTypemapT > &collection_obj)
 Convenience function for returning an accessor for the supplied container collection. Non-const-version.
template<typename AccessType , typename ContainerCollectionTypemapT >
result_of::accessor< const
typename
result_of::container_of
< ContainerCollectionTypemapT,
AccessType >::type, AccessType >
::type 
make_accessor (collection< ContainerCollectionTypemapT > const &collection_obj)
 Convenience function for returning an accessor for the supplied container collection. Const-version.
template<typename AccessType , typename ContainerType >
result_of::field
< ContainerType, AccessType >
::type 
make_field (ContainerType &container)
 Convenience function for creating a suitable field out of a container. Non-const version.
template<typename AccessType , typename ContainerType >
result_of::field< const
ContainerType, AccessType >
::type 
make_field (ContainerType const &container)
 Convenience function for creating a suitable field out of a container. Const-version.
template<typename AccessType , typename ContainerCollectionTypemapT >
result_of::field< typename
result_of::container_of
< ContainerCollectionTypemapT,
AccessType >::type, AccessType >
::type 
make_field (collection< ContainerCollectionTypemapT > &collection_obj)
 Convenience function for creating a suitable field out of a collection of containers. Non-const-version.
template<typename AccessType , typename ContainerCollectionTypemapT >
result_of::field< const
typename
result_of::container_of
< ContainerCollectionTypemapT,
AccessType >::type, AccessType >
::type 
make_field (collection< ContainerCollectionTypemapT > const &collection_obj)
 Convenience function for creating a suitable field out of a collection of containers. Const-version.

Detailed Description

Defines various accessors for storing data for the different element types.