aimstil  5.0.5
til::expr::functor::DetemplateOperator1< TOperator > Struct Template Reference

A class to "detemplate" a stateless operator with a single template argument. More...

#include <til/TExprBasicFunctors.h>

Inheritance diagram for til::expr::functor::DetemplateOperator1< TOperator >:
Collaboration diagram for til::expr::functor::DetemplateOperator1< TOperator >:

Classes

struct  TypeStruct
 

Public Member Functions

template<typename T >
TOperator< T >::result_type operator() (const T &x) const
 
template<typename T >
TOperator< T >::result_type operator() (const T &x, const T &y) const
 

Detailed Description

template<template< typename > class TOperator>
struct til::expr::functor::DetemplateOperator1< TOperator >

A class to "detemplate" a stateless operator with a single template argument.

I.e. to transform a F<T> into a non-templated F that has an operator()<T>. Detemplation is necessary for template expressions: functors involved in template expressions are not type-specific. Note that to be recognized as a Genuine Detemplated Functor, a class must (1), have a templated TypeStruct, (2), have (inherit from) the label detemplatedFunctor. Actually, (2) comes from the fact that I don't know any mean to automatically check for (1) :(

Definition at line 41 of file TExprBasicFunctors.h.

Member Function Documentation

◆ operator()() [1/2]

template<template< typename > class TOperator>
template<typename T >
TOperator<T>::result_type til::expr::functor::DetemplateOperator1< TOperator >::operator() ( const T &  x) const
inline

Definition at line 54 of file TExprBasicFunctors.h.

◆ operator()() [2/2]

template<template< typename > class TOperator>
template<typename T >
TOperator<T>::result_type til::expr::functor::DetemplateOperator1< TOperator >::operator() ( const T &  x,
const T &  y 
) const
inline

Definition at line 68 of file TExprBasicFunctors.h.


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