PLaSK library
Loading...
Searching...
No Matches
plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT > Struct Template Reference

Template of base of scaled provider. More...

#include <plask/provider/scaled_provider.hpp>

Inheritance diagram for plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >:
[legend]
Collaboration diagram for plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >:
[legend]

Public Types

typedef SrcProviderT SourceType
 
typedef DstProviderT DestinationType
 
typedef ScaleT ScaleType
 

Public Member Functions

 ScaledProviderBase (ScaleT scale=1.)
 Create the provider.
 
void set (SrcProviderT *src, bool prv=false)
 Set source provider.
 
void set (std::unique_ptr< SrcProviderT > &&src)
 Set source provider.
 
void reset ()
 Reset source provider.
 
SrcProviderTgetSource () const
 Obtain source provider.
 
 ~ScaledProviderBase ()
 
void ensureHasProvider () const
 Throw exception if the providers set of this is empty.
 

Public Attributes

ScaleT scale
 Scale for the provider value.
 

Protected Attributes

SrcProviderTsource
 Source provider.
 

Detailed Description

template<typename DstProviderT, typename SrcProviderT, typename ScaleT = double>
struct plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >

Template of base of scaled provider.

Definition at line 30 of file scaled_provider.hpp.

Member Typedef Documentation

◆ DestinationType

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
typedef DstProviderT plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::DestinationType

Definition at line 33 of file scaled_provider.hpp.

◆ ScaleType

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
typedef ScaleT plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::ScaleType

Definition at line 34 of file scaled_provider.hpp.

◆ SourceType

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
typedef SrcProviderT plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::SourceType

Definition at line 32 of file scaled_provider.hpp.

Constructor & Destructor Documentation

◆ ScaledProviderBase()

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::ScaledProviderBase ( ScaleT  scale = 1.)
inline

Create the provider.

Parameters
scaleinitial scale

Definition at line 60 of file scaled_provider.hpp.

◆ ~ScaledProviderBase()

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::~ScaledProviderBase ( )
inline

Definition at line 101 of file scaled_provider.hpp.

Member Function Documentation

◆ ensureHasProvider()

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
void plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::ensureHasProvider ( ) const
inline

Throw exception if the providers set of this is empty.

Definition at line 108 of file scaled_provider.hpp.

◆ getSource()

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
SrcProviderT * plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::getSource ( ) const
inline

Obtain source provider.

Returns
source provider

Definition at line 97 of file scaled_provider.hpp.

◆ reset()

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
void plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::reset ( )
inline

Reset source provider.

Definition at line 86 of file scaled_provider.hpp.

◆ set() [1/2]

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
void plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::set ( SrcProviderT src,
bool  prv = false 
)
inline

Set source provider.

Parameters
srcsource provider
prvtrue only if src is private and should be deleted by destructor of this

Definition at line 67 of file scaled_provider.hpp.

◆ set() [2/2]

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
void plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::set ( std::unique_ptr< SrcProviderT > &&  src)
inline

Set source provider.

Parameters
srcsource provider

Definition at line 79 of file scaled_provider.hpp.

Member Data Documentation

◆ scale

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
ScaleT plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::scale

Scale for the provider value.

Definition at line 54 of file scaled_provider.hpp.

◆ source

template<typename DstProviderT , typename SrcProviderT , typename ScaleT = double>
SrcProviderT* plask::ScaledProviderBase< DstProviderT, SrcProviderT, ScaleT >::source
protected

Source provider.

Definition at line 38 of file scaled_provider.hpp.


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