VisionCpp  0.0.1
Public Types | Static Public Member Functions | List of all members
visioncpp::internal::CreatePyramidTuple< SatisfyingConds, Cols, Rows, LeafType, Depth, CurrentDepth, LHS > Struct Template Reference

CreatePyramidTuple. More...

#include <pyramid_mem.hpp>

Collaboration diagram for visioncpp::internal::CreatePyramidTuple< SatisfyingConds, Cols, Rows, LeafType, Depth, CurrentDepth, LHS >:

Public Types

using SubBufferNode = LeafNode< VisionMemory< false, LHS::Type::MemoryCategory, LHS::Type::LeafType, typename LHS::Type::Scalar, Cols, Rows, typename LHS::Type::ElementType, LHS::Type::Channels, LHS::Type::scope, CurrentDepth+100 >, CurrentDepth+100 >
 
using SubBuffer = typename SyclMem< false, LHS::Type::LeafType, LHS::Type::Dim, typename LHS::Type::ElementType >::Type
 

Static Public Member Functions

static auto create_tuple () -> decltype(tools::tuple::append(tools::tuple::make_tuple(SubBufferNode(SubBuffer(get_range< LHS::Type::Dim >(Rows, Cols)))), CreatePyramidTuple<(Depth==(CurrentDepth+1)), Cols/2, Rows/2, LeafType, Depth, CurrentDepth+1, LHS >::create_tuple()))
 create_tuple function: More...
 

Detailed Description

template<bool SatisfyingConds, size_t Cols, size_t Rows, size_t LeafType, size_t Depth, size_t CurrentDepth, typename LHS>
struct visioncpp::internal::CreatePyramidTuple< SatisfyingConds, Cols, Rows, LeafType, Depth, CurrentDepth, LHS >

CreatePyramidTuple.

Once the type of each output element for the output element of the pyramid has been created, The CreatePyramidTuple is used to instantiate the output elements of the Tuple.

Template Parameters
SatisfyingCondsa boolean variable is used to determine the end of the recursive creation of the pyramid output tuple.
Colsdetermines the column size of the input pyramid
Rowsdetermines the row size of the input pyramid
LeafTypedetermines the type of the leafNode {Buffer2D, Buffer1D, Host, Image}
Depthrepresents the depth of down sampling
CurrentDepthrepresents the number of outputs created so far in the recursion
LHSis the final output of the pyramid combining all the nodes together

Once the type of each output element for the output element of the pyramid has been created, The CreatePyramidTuple is used to instantiate the output elements of the Tuple.

Template Parameters
SatisfyingCondsa boolean variable is used to determine the end of the recursive creation of the pyramid output tuple.
Colsdetermines the column size of the input pyramid
Rowsdetermines the row size of the input pyramid
LeafTypedetermines the type of the leafNode {Buffer2D, Buffer1D, Host, Image}
Depthrepresents the depth of down sampling
CurrentDepthrepresents the number of output created so far in the recursion
LHSis the final output of the pyramid combining all the nodes together

Definition at line 89 of file pyramid_mem.hpp.

Member Typedef Documentation

◆ SubBuffer

template<bool SatisfyingConds, size_t Cols, size_t Rows, size_t LeafType, size_t Depth, size_t CurrentDepth, typename LHS >
using visioncpp::internal::CreatePyramidTuple< SatisfyingConds, Cols, Rows, LeafType, Depth, CurrentDepth, LHS >::SubBuffer = typename SyclMem<false, LHS::Type::LeafType, LHS::Type::Dim, typename LHS::Type::ElementType>::Type

Definition at line 97 of file pyramid_mem.hpp.

◆ SubBufferNode

template<bool SatisfyingConds, size_t Cols, size_t Rows, size_t LeafType, size_t Depth, size_t CurrentDepth, typename LHS >
using visioncpp::internal::CreatePyramidTuple< SatisfyingConds, Cols, Rows, LeafType, Depth, CurrentDepth, LHS >::SubBufferNode = LeafNode< VisionMemory<false, LHS::Type::MemoryCategory, LHS::Type::LeafType, typename LHS::Type::Scalar, Cols, Rows, typename LHS::Type::ElementType, LHS::Type::Channels, LHS::Type::scope, CurrentDepth + 100>, CurrentDepth + 100>

Definition at line 90 of file pyramid_mem.hpp.

Member Function Documentation

◆ create_tuple()

template<bool SatisfyingConds, size_t Cols, size_t Rows, size_t LeafType, size_t Depth, size_t CurrentDepth, typename LHS >
static auto visioncpp::internal::CreatePyramidTuple< SatisfyingConds, Cols, Rows, LeafType, Depth, CurrentDepth, LHS >::create_tuple ( ) -> decltype(tools::tuple::append( tools::tuple::make_tuple( SubBufferNode(SubBuffer(get_range<LHS::Type::Dim>(Rows, Cols)))), CreatePyramidTuple<(Depth == (CurrentDepth + 1)), Cols / 2, Rows / 2, LeafType, Depth, CurrentDepth + 1, LHS>::create_tuple()))
inlinestatic

create_tuple function:

This function is used to instantiate the output tuple.

Returns
Tuple

Definition at line 103 of file pyramid_mem.hpp.

References visioncpp::internal::tools::tuple::append(), and visioncpp::internal::tools::tuple::make_tuple().

Here is the call graph for this function:

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