kangaroo  1.0
the cbls library
Public Member Functions | Static Private Member Functions | Private Attributes
OptiSwap< input, output > Class Template Reference

Optimisation swap operator that is used if maxi and mini are swapped or vice versa. More...

#include <optiswap.hpp>

Inheritance diagram for OptiSwap< input, output >:
Inheritance graph
[legend]

Public Member Functions

output const operator() (input const Input)
 Perform function. More...
 
Essential Methods
 OptiSwap ()=default
 Default constructor.
 
 OptiSwap (ParamSpecType const ParamSpec)
 Param constructor. More...
 
 OptiSwap (OptiSwap< input, output > const &that)=default
 Copy constructor.
 
 OptiSwap (OptiSwap< input, output > &&that) noexcept=default
 Move constructor.
 
OptiSwap< input, output > & operator= (OptiSwap< input, output > &&that) noexcept=default
 Move Assignment.
 
OptiSwap< input, output > & operator= (OptiSwap< input, output > const &that)=default
 Copy Assignment.
 
 ~OptiSwap ()=default
 Destructor.
 

Static Private Member Functions

static output const DotOperator (input const Input)
 Dot optimisation swap. More...
 
static output const NotOperator (input const Input)
 Not optimisation swap. More...
 
static output const NegOperator (input const Input)
 Neg optimisation swap. More...
 
static output const InvOperator (input const Input)
 Inv optimisation swap. More...
 

Private Attributes

output const (* mOutput )(input const Input)
 Selected function.
 

Detailed Description

template<typename input, typename output>
class OptiSwap< input, output >

Optimisation swap operator that is used if maxi and mini are swapped or vice versa.

Template Parameters
inputThe input data type.
outputThe output data type.

Constructor & Destructor Documentation

template<typename input , typename output >
OptiSwap< input, output >::OptiSwap ( ParamSpecType const  ParamSpec)
inline

Param constructor.

Member Function Documentation

template<typename input, typename output >
output const OptiSwap< input, output >::operator() ( input const  Input)
inline

Perform swap operation.

template<typename input, typename output >
output const OptiSwap< input, output >::DotOperator ( input const  Input)
inlinestaticprivate

Dot as a optimisation swap operator.

template<typename input, typename output >
output const OptiSwap< input, output >::NotOperator ( input const  Input)
inlinestaticprivate

Not as a optimisation swap operator.

template<typename input, typename output >
output const OptiSwap< input, output >::NegOperator ( input const  Input)
inlinestaticprivate

Negation as a optimisation swap operator.

template<typename input, typename output >
output const OptiSwap< input, output >::InvOperator ( input const  Input)
inlinestaticprivate

Inversion as a optimisation swap operator.


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