Tenncor
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
dbg::CustomFunctor< T > Struct Template Referencefinal

Functor that runs a custom functor instead of Eigen operators. More...

#include <custom_functor.hpp>

Inheritance diagram for dbg::CustomFunctor< T >:
Inheritance graph
[legend]
Collaboration diagram for dbg::CustomFunctor< T >:
Collaboration graph
[legend]

Public Member Functions

 CustomFunctor (const CustomFunctor< T > &other)=default
 
 CustomFunctor (CustomFunctor< T > &&other)=default
 
CustomFunctor< T > & operator= (const CustomFunctor< T > &other)=delete
 
CustomFunctor< T > & operator= (CustomFunctor< T > &&other)=delete
 
const teq::Shapeshape (void) const override
 Implementation of iTensor. More...
 
std::string to_string (void) const override
 Implementation of iTensor. More...
 
teq::Opcode get_opcode (void) const override
 Implementation of iFunctor. More...
 
const teq::ArgsTget_children (void) const override
 Implementation of iFunctor. More...
 
void update_child (teq::FuncArg arg, size_t index) override
 Implementation of iFunctor. More...
 
void update (void) override
 Implementation of iOperableFunc. More...
 
void * data (void) override
 Implementation of iData. More...
 
const void * data (void) const override
 Implementation of iData. More...
 
size_t type_code (void) const override
 Implementation of iData. More...
 
std::string type_label (void) const override
 Implementation of iData. More...
 
size_t nbytes (void) const override
 Implementation of iData. More...
 
- Public Member Functions inherited from teq::iOperableFunc
virtual ~iOperableFunc (void)=default
 
- Public Member Functions inherited from teq::iFunctor
virtual ~iFunctor (void)=default
 
void accept (iTraveler &visiter) override
 Implementation of iTensor. More...
 
- Public Member Functions inherited from teq::iTensor
virtual ~iTensor (void)=default
 
- Public Member Functions inherited from teq::iData
virtual ~iData (void)=default
 

Static Public Member Functions

static CustomFunctor< T > * get (CustomOpF< T > op, eteq::ArgsT< T > args)
 Return a CustomFunctor with input function and meta arguments. More...
 

Private Member Functions

 CustomFunctor (CustomOpF< T > op, teq::Shape shape, teq::ArgsT args)
 

Private Attributes

eteq::TensorT< T > out_
 
CustomOpF< T > op_
 
teq::Shape shape_
 Shape info built at construction time according to arguments. More...
 
teq::ArgsT args_
 Tensor arguments (and children) More...
 

Detailed Description

template<typename T>
struct dbg::CustomFunctor< T >

Functor that runs a custom functor instead of Eigen operators.

Constructor & Destructor Documentation

◆ CustomFunctor() [1/3]

template<typename T>
dbg::CustomFunctor< T >::CustomFunctor ( const CustomFunctor< T > &  other)
default

◆ CustomFunctor() [2/3]

template<typename T>
dbg::CustomFunctor< T >::CustomFunctor ( CustomFunctor< T > &&  other)
default

◆ CustomFunctor() [3/3]

template<typename T>
dbg::CustomFunctor< T >::CustomFunctor ( CustomOpF< T >  op,
teq::Shape  shape,
teq::ArgsT  args 
)
inlineprivate

Member Function Documentation

◆ data() [1/2]

template<typename T>
void* dbg::CustomFunctor< T >::data ( void  )
inlineoverridevirtual

Implementation of iData.

Implements teq::iData.

◆ data() [2/2]

template<typename T>
const void* dbg::CustomFunctor< T >::data ( void  ) const
inlineoverridevirtual

Implementation of iData.

Implements teq::iData.

◆ get()

template<typename T >
CustomFunctor< T > * dbg::CustomFunctor< T >::get ( CustomOpF< T >  op,
eteq::ArgsT< T >  args 
)
static

Return a CustomFunctor with input function and meta arguments.

◆ get_children()

template<typename T>
const teq::ArgsT& dbg::CustomFunctor< T >::get_children ( void  ) const
inlineoverridevirtual

Implementation of iFunctor.

Implements teq::iFunctor.

◆ get_opcode()

template<typename T>
teq::Opcode dbg::CustomFunctor< T >::get_opcode ( void  ) const
inlineoverridevirtual

Implementation of iFunctor.

Implements teq::iFunctor.

◆ nbytes()

template<typename T>
size_t dbg::CustomFunctor< T >::nbytes ( void  ) const
inlineoverridevirtual

Implementation of iData.

Implements teq::iData.

◆ operator=() [1/2]

template<typename T>
CustomFunctor<T>& dbg::CustomFunctor< T >::operator= ( const CustomFunctor< T > &  other)
delete

◆ operator=() [2/2]

template<typename T>
CustomFunctor<T>& dbg::CustomFunctor< T >::operator= ( CustomFunctor< T > &&  other)
delete

◆ shape()

template<typename T>
const teq::Shape& dbg::CustomFunctor< T >::shape ( void  ) const
inlineoverridevirtual

Implementation of iTensor.

Implements teq::iTensor.

◆ to_string()

template<typename T>
std::string dbg::CustomFunctor< T >::to_string ( void  ) const
inlineoverridevirtual

Implementation of iTensor.

Implements teq::iTensor.

◆ type_code()

template<typename T>
size_t dbg::CustomFunctor< T >::type_code ( void  ) const
inlineoverridevirtual

Implementation of iData.

Implements teq::iData.

◆ type_label()

template<typename T>
std::string dbg::CustomFunctor< T >::type_label ( void  ) const
inlineoverridevirtual

Implementation of iData.

Implements teq::iData.

◆ update()

template<typename T>
void dbg::CustomFunctor< T >::update ( void  )
inlineoverridevirtual

Implementation of iOperableFunc.

Implements teq::iOperableFunc.

◆ update_child()

template<typename T>
void dbg::CustomFunctor< T >::update_child ( teq::FuncArg  arg,
size_t  index 
)
inlineoverridevirtual

Implementation of iFunctor.

Implements teq::iFunctor.

Member Data Documentation

◆ args_

template<typename T>
teq::ArgsT dbg::CustomFunctor< T >::args_
private

Tensor arguments (and children)

◆ op_

template<typename T>
CustomOpF<T> dbg::CustomFunctor< T >::op_
private

◆ out_

template<typename T>
eteq::TensorT<T> dbg::CustomFunctor< T >::out_
private

◆ shape_

template<typename T>
teq::Shape dbg::CustomFunctor< T >::shape_
private

Shape info built at construction time according to arguments.


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