26 #ifndef VISIONCPP_INCLUDE_FRAMEWORK_EXPR_COMPLEX_OPS_TREE_PYRAMID_MEM_HPP_
27 #define VISIONCPP_INCLUDE_FRAMEWORK_EXPR_COMPLEX_OPS_TREE_PYRAMID_MEM_HPP_
48 template <
bool SatisfyingConds,
size_t Cols,
size_t Rows,
size_t LeafType,
49 size_t Depth,
size_t CurrentDepth,
typename LHS,
50 typename... ChildType>
53 VisionMemory<
false, LHS::Type::MemoryCategory, LHS::Type::LeafType,
54 typename LHS::Type::Scalar, Cols, Rows,
55 typename LHS::Type::ElementType, LHS::Type::Channels,
56 LHS::Type::scope, CurrentDepth + 100>,
59 (Depth == CurrentDepth + 1), Cols / 2, Rows / 2, LeafType, Depth,
66 template <
size_t Cols,
size_t Rows,
size_t LeafType,
size_t Depth,
67 size_t CurrentDepth,
typename LHS,
typename... ChildType>
87 template <
bool SatisfyingConds,
size_t Cols,
size_t Rows,
size_t LeafType,
88 size_t Depth,
size_t CurrentDepth,
typename LHS>
91 VisionMemory<
false, LHS::Type::MemoryCategory, LHS::Type::LeafType,
92 typename LHS::Type::Scalar, Cols, Rows,
93 typename LHS::Type::ElementType, LHS::Type::Channels,
94 LHS::Type::scope, CurrentDepth + 100>,
98 typename LHS::Type::ElementType>::Type;
107 LeafType, Depth, CurrentDepth + 1,
113 Cols / 2, Rows / 2, LeafType, Depth,
123 template <
size_t Cols,
size_t Rows,
size_t LeafType,
size_t Depth,
124 size_t CurrentDepth,
typename LHS>
128 VisionMemory<
false, LHS::Type::MemoryCategory, LHS::Type::LeafType,
129 typename LHS::Type::Scalar, Cols, Rows,
130 typename LHS::Type::ElementType, LHS::Type::Channels,
131 LHS::Type::scope, CurrentDepth + 100>,
135 typename LHS::Type::ElementType>::Type;
146 template <
size_t Cols,
size_t Rows,
size_t Depth,
size_t CurrentDepth,
148 typename CreatePyramidTupleType<
false, Cols, Rows, LHS::Type::LeafType, Depth,
151 Depth, 0, LHS>::create_tuple();
CreatePyramidTupleType< false, Cols, Rows, LHS::Type::LeafType, Depth, 0, LHS >::Type create_pyramid_memory()
create_pyramid_memory template deduction function for CreatePyramidTuple struct.
CreatePyramidTupleType: This file is used to create each output element type for each downsampling ou...
typename CreatePyramidTupleType<(Depth==CurrentDepth+1), Cols/2, Rows/2, LeafType, Depth, CurrentDepth+1, LHS, ChildType..., SubBuffer >::Type Type
typename SyclMem< false, LHS::Type::LeafType, LHS::Type::Dim, typename LHS::Type::ElementType >::Type SubBuffer
typename SyclMem< false, LHS::Type::LeafType, LHS::Type::Dim, typename LHS::Type::ElementType >::Type SubBuffer
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 > SubBufferNode
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:
the definition is in LeafNode.
SyclMem is used to create VisionMemory data storage.
Definition of VisionMemory.