PLaSK library
Loading...
Searching...
No Matches
providerfor.hpp File Reference

This file contains classes and templates which allow to generate providers and receivers. More...

Include dependency graph for providerfor.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plask::PropertyTypeToProviderName< prop_type >
 
struct  plask::PropertyTypeToProviderName< SINGLE_VALUE_PROPERTY >
 
struct  plask::PropertyTypeToProviderName< MULTI_VALUE_PROPERTY >
 
struct  plask::PropertyTypeToProviderName< FIELD_PROPERTY >
 
struct  plask::PropertyTypeToProviderName< MULTI_FIELD_PROPERTY >
 
struct  plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams >
 Helper class which makes it easier to define property tags class. More...
 
struct  plask::Property< _propertyType, _ValueType, _ValueType, _ExtraParams... >
 
struct  plask::PropertyAtDimImpl< PropertyTag, DIM, hasUniqueValueType >
 Describe property in given space. Don't use it directly, but use PropertyAtDim. More...
 
struct  plask::PropertyAtDimImpl< PropertyTag, 2, true >
 Describe property in 2D space. Don't use it directly, but use PropertyAtDim. More...
 
struct  plask::PropertyAtDimImpl< PropertyTag, 2, false >
 
struct  plask::PropertyAtDimImpl< PropertyTag, 3, true >
 Describe property in 3D space. Don't use it directly, but use PropertyAtDim. More...
 
struct  plask::PropertyAtDimImpl< PropertyTag, 3, false >
 
struct  plask::PropertyAtImpl< PropertyTag, Space, SrcSpace, hasUniqueValueType >
 
struct  plask::PropertyAtImpl< PropertyTag, Geometry3D, Geometry2DCylindrical, false >
 
struct  plask::PropertyAtImpl< PropertyTag, Geometry2DCylindrical, Geometry3D, false >
 
struct  plask::PropertyAt< PropertyTag, Space, SrcSpace >
 Describe property type in given space. More...
 
struct  plask::PropertyAt< PropertyTag, void >
 
struct  plask::SingleValueProperty< ValueT, _ExtraParams >
 Helper class which makes it easier to define property tags class for single value (double type by default) properties. More...
 
struct  plask::MultiValueProperty< ValueT, _ExtraParams >
 Helper class which makes it easier to define property tags class for multiple value (double type by default) properties. More...
 
struct  plask::FieldProperty< ValueT, _ExtraParams >
 Helper class which makes it easier to define property tags class for fields. More...
 
struct  plask::MultiFieldProperty< ValueT, _ExtraParams >
 Helper class which makes it easier to define property tags class for multiple fields. More...
 
struct  plask::CustomFieldProperty< ValueT_2D, ValueT_3D, _ExtraParams >
 Helper class which makes it easier to define property tags classes for vectorial fields that can be interpolated. More...
 
struct  plask::MultiCustomFieldProperty< ValueT_2D, ValueT_3D, _ExtraParams >
 Helper class which makes it easier to define property tags classes for multiple vectorial fields that can be interpolated. More...
 
struct  plask::VectorFieldProperty< ValueT, _ExtraParams >
 Helper class which makes it easier to define property tags classes for vectorial fields that can be interpolated. More...
 
struct  plask::MultiVectorFieldProperty< ValueT, _ExtraParams >
 Helper class which makes it easier to define property tags classes for multiple vectorial fields that can be interpolated. More...
 
struct  plask::ProviderImpl< PropertyT, propertyType, spaceType, VariadicTemplateTypesHolder >
 Specializations of this class are implementations of providers for given property tag class and this tag properties. More...
 
struct  plask::ProviderFor< PropertyT, SpaceT >
 Specializations of this class define implementations of providers for given property tag: More...
 
struct  plask::ReceiverFor< PropertyT, SpaceT >
 Specializations of this class are implementations of Receiver for given property tag. More...
 
struct  plask::ProviderImpl< PropertyT, SINGLE_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Partial specialization which implements abstract provider class which provides a single value, typically one double. More...
 
struct  plask::ProviderImpl< PropertyT, SINGLE_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::WithDefaultValue
 Implementation of one value provider class which holds value inside (in value field) and operator() returns its held value. More...
 
struct  plask::ProviderImpl< PropertyT, SINGLE_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::WithValue
 Implementation of one value provider class which holds value inside (in value field) and operator() return its held value. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Partial specialization which implements abstract provider class which provides a single value, typically one double. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::WithDefaultValue
 Implementation of one value provider class which holds value inside (in value field) and operator() returns its held value. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::WithValue
 Implementation of one value provider class which holds value inside (in value field) and operator() return its held value. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate
 Implementation of one value provider class which delegates all operator() calls to external functor. More...
 
struct  plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Specialization which implements provider class which provides values in mesh points and uses interpolation. More...
 
struct  plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::WithValue< MeshType >
 Template for implementation of field provider class which holds vector of values and mesh inside. More...
 
struct  plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Transform< MeshTransform >
 Provider that uses mesh transformation and has a received for different mesh type. More...
 
struct  plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::ConstProviderType
 Return same value in all points. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Specialization which implements provider class which provides multiple values in mesh points and uses interpolation. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::WithValue< MeshType >
 Template for implementation of field provider class which holds vector of values and mesh inside. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Transform< MeshTransform >
 Provider that uses mesh transformation and has a received for different mesh type. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate
 Implementation of field provider class which delegates all operator() calls to external functor. More...
 
struct  plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::ConstProviderType
 Return same value in all points. More...
 

Namespaces

namespace  plask
 Patterson quadrature for complex function along specified line.
 

Typedefs

template<typename PropertyTag , int dim>
using plask::PropertyAtDim = PropertyAtDimImpl< PropertyTag, dim, PropertyTag::hasUniqueValueType >
 
typedef FieldProperty< doubleplask::ScalarFieldProperty
 Helper class which makes it easier to define property tags classes for scalar fields (fields of doubles).
 
typedef MultiFieldProperty< doubleplask::MultiScalarFieldProperty
 Helper class which makes it easier to define property tags classes for multiple scalar fields (fields of doubles).
 

Enumerations

enum  plask::PropertyType { plask::SINGLE_VALUE_PROPERTY = 0 , plask::MULTI_VALUE_PROPERTY = 1 , plask::FIELD_PROPERTY = 2 , plask::MULTI_FIELD_PROPERTY = 3 }
 Type of properties. More...
 

Detailed Description

This file contains classes and templates which allow to generate providers and receivers.

See also
Providers and receivers

Definition in file providerfor.hpp.