Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::detail::ParametersCompositeFunctor< F0, F1, Fs > Class Template Reference

#include <ParametersCompositeFunctor.h>

Inheritance diagram for hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >:
Collaboration diagram for hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >:

Public Types

typedef hydra::thrust::tuple< F0, F1, Fs... > functors_type
 

Public Member Functions

 ParametersCompositeFunctor ()=delete
 
 ParametersCompositeFunctor (F0 const &f0, F1 const &f1, Fs const &...fs)
 
__hydra_host__ __hydra_device__ ParametersCompositeFunctor (ParametersCompositeFunctor< F0, F1, Fs... > const &other)
 
virtual ~ParametersCompositeFunctor ()=default
 
void AddUserParameters (std::vector< hydra::Parameter *> &user_parameters)
 
template<unsigned int I>
hydra::thrust::tuple_element< I, functors_type >::type & GetFunctor (hydra::placeholders::placeholder< I > const &)
 
__hydra_host__ __hydra_device__ const functors_typeGetFunctors () const
 
size_t GetNumberOfParameters () const
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
const hydra::ParameterGetParameter (Int i) const
 
const hydra::ParameterGetParameter (const char *name) const
 
size_t GetParametersKey ()
 
__hydra_host__ __hydra_device__ ParametersCompositeFunctor< F0, F1, Fs... > & operator= (ParametersCompositeFunctor< F0, F1, Fs... > const &other)
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
hydra::ParameterParameter (Int i)
 
hydra::ParameterParameter (const char *name)
 
void PrintRegisteredParameters ()
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
void SetParameter (Int i, hydra::Parameter const &value)
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
void SetParameter (Int i, double value)
 
void SetParameter (const char *name, hydra::Parameter const &value)
 
void SetParameter (const char *name, double value)
 
void SetParameters (const std::vector< double > &parameters)
 
virtual void Update ()
 

Detailed Description

template<typename F0, typename F1, typename... Fs>
class hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >

Member Typedef Documentation

◆ functors_type

template<typename F0, typename F1, typename... Fs>
typedef hydra::thrust::tuple<F0, F1, Fs...> hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::functors_type

Constructor & Destructor Documentation

◆ ParametersCompositeFunctor() [1/3]

template<typename F0, typename F1, typename... Fs>
hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::ParametersCompositeFunctor ( )
delete

◆ ParametersCompositeFunctor() [2/3]

template<typename F0, typename F1, typename... Fs>
hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::ParametersCompositeFunctor ( F0 const &  f0,
F1 const &  f1,
Fs const &...  fs 
)
inline

◆ ParametersCompositeFunctor() [3/3]

template<typename F0, typename F1, typename... Fs>
__hydra_host__ __hydra_device__ hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::ParametersCompositeFunctor ( ParametersCompositeFunctor< F0, F1, Fs... > const &  other)
inline

◆ ~ParametersCompositeFunctor()

template<typename F0, typename F1, typename... Fs>
virtual hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::~ParametersCompositeFunctor ( )
virtualdefault

Member Function Documentation

◆ AddUserParameters()

template<typename F0, typename F1, typename... Fs>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::AddUserParameters ( std::vector< hydra::Parameter *> &  user_parameters)
inline

◆ GetFunctor()

template<typename F0, typename F1, typename... Fs>
template<unsigned int I>
hydra::thrust::tuple_element<I,functors_type>::type& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::GetFunctor ( hydra::placeholders::placeholder< I > const &  )
inline

◆ GetFunctors()

template<typename F0, typename F1, typename... Fs>
__hydra_host__ __hydra_device__ const functors_type& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::GetFunctors ( ) const
inline

◆ GetNumberOfParameters()

template<typename F0, typename F1, typename... Fs>
size_t hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::GetNumberOfParameters ( ) const
inline

◆ GetParameter() [1/2]

template<typename F0, typename F1, typename... Fs>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
const hydra::Parameter& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::GetParameter ( Int  i) const
inline

◆ GetParameter() [2/2]

template<typename F0, typename F1, typename... Fs>
const hydra::Parameter& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::GetParameter ( const char *  name) const
inline

◆ GetParametersKey()

template<typename F0, typename F1, typename... Fs>
size_t hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::GetParametersKey ( )
inline

◆ operator=()

template<typename F0, typename F1, typename... Fs>
__hydra_host__ __hydra_device__ ParametersCompositeFunctor<F0,F1,Fs...>& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::operator= ( ParametersCompositeFunctor< F0, F1, Fs... > const &  other)
inline

◆ Parameter() [1/2]

template<typename F0, typename F1, typename... Fs>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
hydra::Parameter& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::Parameter ( Int  i)
inline

◆ Parameter() [2/2]

template<typename F0, typename F1, typename... Fs>
hydra::Parameter& hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::Parameter ( const char *  name)
inline

◆ PrintRegisteredParameters()

template<typename F0, typename F1, typename... Fs>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::PrintRegisteredParameters ( )
inline

◆ SetParameter() [1/4]

template<typename F0, typename F1, typename... Fs>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::SetParameter ( Int  i,
hydra::Parameter const &  value 
)
inline

◆ SetParameter() [2/4]

template<typename F0, typename F1, typename... Fs>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::SetParameter ( Int  i,
double  value 
)
inline

◆ SetParameter() [3/4]

template<typename F0, typename F1, typename... Fs>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::SetParameter ( const char *  name,
hydra::Parameter const &  value 
)
inline

◆ SetParameter() [4/4]

template<typename F0, typename F1, typename... Fs>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::SetParameter ( const char *  name,
double  value 
)
inline

◆ SetParameters()

template<typename F0, typename F1, typename... Fs>
void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::SetParameters ( const std::vector< double > &  parameters)
inline

◆ Update()

template<typename F0, typename F1, typename... Fs>
virtual void hydra::detail::ParametersCompositeFunctor< F0, F1, Fs >::Update ( )
inlinevirtual

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