Geant4-11
Public Types | Public Member Functions | Private Attributes
PTL::JoinFunction< JoinT, JoinArg > Struct Template Reference

#include <JoinFunction.hh>

Public Types

using Type = std::function< JoinT(JoinT &, JoinArg &&)>
 

Public Member Functions

template<typename Func >
 JoinFunction (Func &&func)
 
template<typename... Args>
JoinT & operator() (Args &&... args)
 

Private Attributes

Type m_func = [](JoinT& lhs, JoinArg&&) { return lhs; }
 

Detailed Description

template<typename JoinT, typename JoinArg>
struct PTL::JoinFunction< JoinT, JoinArg >

Definition at line 45 of file JoinFunction.hh.

Member Typedef Documentation

◆ Type

template<typename JoinT , typename JoinArg >
using PTL::JoinFunction< JoinT, JoinArg >::Type = std::function<JoinT(JoinT&, JoinArg&&)>

Definition at line 48 of file JoinFunction.hh.

Constructor & Destructor Documentation

◆ JoinFunction()

template<typename JoinT , typename JoinArg >
template<typename Func >
PTL::JoinFunction< JoinT, JoinArg >::JoinFunction ( Func &&  func)
inline

Definition at line 54 of file JoinFunction.hh.

55 : m_func(std::forward<Func>(func))
56 {}

Member Function Documentation

◆ operator()()

template<typename JoinT , typename JoinArg >
template<typename... Args>
JoinT & PTL::JoinFunction< JoinT, JoinArg >::operator() ( Args &&...  args)
inline

Definition at line 59 of file JoinFunction.hh.

60 {
61 return std::move(m_func(std::forward<Args>(args)...));
62 }
static char ** args
Definition: G4Xt.cc:51

References args, and PTL::JoinFunction< JoinT, JoinArg >::m_func.

Field Documentation

◆ m_func

template<typename JoinT , typename JoinArg >
Type PTL::JoinFunction< JoinT, JoinArg >::m_func = [](JoinT& lhs, JoinArg&&) { return lhs; }
private

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