OpenCV  4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Classes | Functions
cv::util::detail Namespace Reference

Classes

struct  type_list_index_helper
 
struct  type_list_index_helper< I, Target, First >
 
struct  visitor_interface
 
struct  visitor_return_type_deduction_helper
 

Functions

template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , typename... VisitorArgs>
ReturnType apply_visitor_impl (Visitor &&, Variant &, std::true_type, std::false_type, VisitorArgs &&...)
 
template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , typename... VisitorArgs>
void apply_visitor_impl (Visitor &&, Variant &, std::true_type, std::true_type, VisitorArgs &&...)
 
template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , bool no_return_value, typename... VisitorArgs>
std::enable_if<!std::is_base_of< visitor_interface, typenamestd::decay< Visitor >::type >::value, ReturnType >::type apply_visitor_impl (Visitor &&visitor, Variant &&v, std::false_type not_processed, std::integral_constant< bool, no_return_value > should_no_return, VisitorArgs &&...args)
 
template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , bool no_return_value, typename... VisitorArgs>
std::enable_if< std::is_base_of< visitor_interface, typenamestd::decay< Visitor >::type >::value, ReturnType >::type apply_visitor_impl (Visitor &&visitor, Variant &&v, std::false_type not_processed, std::integral_constant< bool, no_return_value > should_no_return, VisitorArgs &&...args)
 
template<std::size_t CurIndex, typename ReturnType , typename Visitor , class Value , typename... VisitorArgs>
std::enable_if< std::is_base_of< static_visitor< ReturnType, typenamestd::decay< Visitor >::type >, typenamestd::decay< Visitor >::type >::value, ReturnType >::type invoke_class_visitor (Visitor &visitor, Value &&v, VisitorArgs &&...args)
 
template<std::size_t CurIndex, typename ReturnType , typename Visitor , class Value , typename... VisitorArgs>
std::enable_if< std::is_base_of< static_indexed_visitor< ReturnType, typenamestd::decay< Visitor >::type >, typenamestd::decay< Visitor >::type >::value, ReturnType >::type invoke_class_visitor (Visitor &visitor, Value &&v, VisitorArgs &&...args)
 

Function Documentation

◆ apply_visitor_impl() [1/4]

template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , typename... VisitorArgs>
ReturnType cv::util::detail::apply_visitor_impl ( Visitor &&  ,
Variant &  ,
std::true_type  ,
std::false_type  ,
VisitorArgs &&  ... 
)

◆ apply_visitor_impl() [2/4]

template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , typename... VisitorArgs>
void cv::util::detail::apply_visitor_impl ( Visitor &&  ,
Variant &  ,
std::true_type  ,
std::true_type  ,
VisitorArgs &&  ... 
)

◆ apply_visitor_impl() [3/4]

template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , bool no_return_value, typename... VisitorArgs>
std::enable_if<!std::is_base_of< visitor_interface, typenamestd::decay< Visitor >::type >::value, ReturnType >::type cv::util::detail::apply_visitor_impl ( Visitor &&  visitor,
Variant &&  v,
std::false_type  not_processed,
std::integral_constant< bool, no_return_value >  should_no_return,
VisitorArgs &&...  args 
)
Here is the call graph for this function:

◆ apply_visitor_impl() [4/4]

template<typename ReturnType , std::size_t CurIndex, std::size_t ElemCount, typename Visitor , typename Variant , bool no_return_value, typename... VisitorArgs>
std::enable_if< std::is_base_of< visitor_interface, typenamestd::decay< Visitor >::type >::value, ReturnType >::type cv::util::detail::apply_visitor_impl ( Visitor &&  visitor,
Variant &&  v,
std::false_type  not_processed,
std::integral_constant< bool, no_return_value >  should_no_return,
VisitorArgs &&...  args 
)
Here is the call graph for this function:

◆ invoke_class_visitor() [1/2]

template<std::size_t CurIndex, typename ReturnType , typename Visitor , class Value , typename... VisitorArgs>
std::enable_if< std::is_base_of< static_visitor< ReturnType, typenamestd::decay< Visitor >::type >, typenamestd::decay< Visitor >::type >::value, ReturnType >::type cv::util::detail::invoke_class_visitor ( Visitor &  visitor,
Value &&  v,
VisitorArgs &&...  args 
)

◆ invoke_class_visitor() [2/2]

template<std::size_t CurIndex, typename ReturnType , typename Visitor , class Value , typename... VisitorArgs>
std::enable_if< std::is_base_of< static_indexed_visitor< ReturnType, typenamestd::decay< Visitor >::type >, typenamestd::decay< Visitor >::type >::value, ReturnType >::type cv::util::detail::invoke_class_visitor ( Visitor &  visitor,
Value &&  v,
VisitorArgs &&...  args 
)