HyperHDG
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
HyDataContainer< data_t, vectorT, hyEdge_index_t > Class Template Reference

Class for saving some (abstract) data per hyperedge. More...

#include <hy_data_container.hxx>

Public Types

typedef data_t value_type
 Defines the return value of the class. More...
 

Public Member Functions

 HyDataContainer (const constructor_value_type n_hyEdges)
 Construct a topology from a given filename. More...
 
value_typeoperator[] (const hyEdge_index_t index)
 Get data of hyperedge of given index. More...
 
value_typeget_hyEdge (const hyEdge_index_t index)
 Get data of hyperedge of given index. More...
 

Public Attributes

decltype(std::declval< vectorT >().size()) typedef constructor_value_type
 Defines the value type of input argument for standard constructor. More...
 

Private Attributes

vectorT data_container
 The internal overall data container which holds all data of a hypergraph's hyperedges. More...
 

Detailed Description

template<typename data_t, typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
class HyDataContainer< data_t, vectorT, hyEdge_index_t >

Class for saving some (abstract) data per hyperedge.


For parabolic PDEs, for example, it might be necessary to save some data of the old time step. This data might be related to hypernodes and therefore be saved in a global vector that is administrated by the HypernodeFactory, or it might be related to hypernodes and therefore be administrated by the HyDataContainer.

Template Parameters
data_tThe class name of the data which is saved per hyperedge.
vectorTData structure in which the datas are stored. Defaults to std::vector.
hyEdge_index_tIndex type which is used to identify entries in this data structure.
Authors
Guido Kanschat, Heidelberg University, 2019–2020.
Andreas Rupp, Heidelberg University, 2019–2020.

Member Typedef Documentation

◆ value_type

template<typename data_t , typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
typedef data_t HyDataContainer< data_t, vectorT, hyEdge_index_t >::value_type

Defines the return value of the class.


Constructor & Destructor Documentation

◆ HyDataContainer()

template<typename data_t , typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
HyDataContainer< data_t, vectorT, hyEdge_index_t >::HyDataContainer ( const constructor_value_type  n_hyEdges)
inline

Construct a topology from a given filename.


Parameters
n_hyEdgesNumber of hyperedges.

Member Function Documentation

◆ get_hyEdge()

template<typename data_t , typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
value_type& HyDataContainer< data_t, vectorT, hyEdge_index_t >::get_hyEdge ( const hyEdge_index_t  index)
inline

Get data of hyperedge of given index.


Parameters
indexThe index of the hyperedge whose data is to be returned.
Return values
dataThe data of the selected hyperedge.

◆ operator[]()

template<typename data_t , typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
value_type& HyDataContainer< data_t, vectorT, hyEdge_index_t >::operator[] ( const hyEdge_index_t  index)
inline

Get data of hyperedge of given index.


Parameters
indexThe index of the hyperedge whose data is to be returned.
Return values
dataThe data of the selected hyperedge.

Member Data Documentation

◆ constructor_value_type

template<typename data_t , typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
decltype(std::declval<vectorT>().size()) typedef HyDataContainer< data_t, vectorT, hyEdge_index_t >::constructor_value_type

Defines the value type of input argument for standard constructor.


◆ data_container

template<typename data_t , typename vectorT = std::vector<data_t>, typename hyEdge_index_t = decltype(std::declval<vectorT>().size())>
vectorT HyDataContainer< data_t, vectorT, hyEdge_index_t >::data_container
private

The internal overall data container which holds all data of a hypergraph's hyperedges.



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