VisionCpp  0.0.1
Public Types | List of all members
visioncpp::internal::InheritTypeBinary< LHSExpr, RHSExpr > Struct Template Reference

This struct is used to extract the output type of the binary operation from both input. More...

#include <resizable_binary.hpp>

Collaboration diagram for visioncpp::internal::InheritTypeBinary< LHSExpr, RHSExpr >:

Public Types

using LHSTypeDetector = typename LHSExpr::Type
 
using RHSTypeDetector = typename RHSExpr::Type
 
using Type = typename tools::StaticIf< LHSTypeDetector::LeafType !=memory_type::Const, LHSTypeDetector, RHSTypeDetector >::Type
 

Detailed Description

template<typename LHSExpr, typename RHSExpr>
struct visioncpp::internal::InheritTypeBinary< LHSExpr, RHSExpr >

This struct is used to extract the output type of the binary operation from both input.

This is useful when one of the operands passed is a constant variable and the other one is a buffer. This inheritance allows to swap the place of the constant variable in the node construction template parameters

Template Parameters
LHSExprleft hand side expression
RHSExprright hand side expression

Definition at line 39 of file resizable_binary.hpp.

Member Typedef Documentation

◆ LHSTypeDetector

template<typename LHSExpr , typename RHSExpr >
using visioncpp::internal::InheritTypeBinary< LHSExpr, RHSExpr >::LHSTypeDetector = typename LHSExpr::Type

Definition at line 40 of file resizable_binary.hpp.

◆ RHSTypeDetector

template<typename LHSExpr , typename RHSExpr >
using visioncpp::internal::InheritTypeBinary< LHSExpr, RHSExpr >::RHSTypeDetector = typename RHSExpr::Type

Definition at line 41 of file resizable_binary.hpp.

◆ Type

template<typename LHSExpr , typename RHSExpr >
using visioncpp::internal::InheritTypeBinary< LHSExpr, RHSExpr >::Type = typename tools::StaticIf<LHSTypeDetector::LeafType != memory_type::Const, LHSTypeDetector, RHSTypeDetector>::Type

Definition at line 42 of file resizable_binary.hpp.


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