OpenCV  4.1.0
Open Source Computer Vision
Classes | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
cv::util::variant< Ts > Class Template Reference

#include <opencv2/gapi/util/variant.hpp>

Public Member Functions

 variant () noexcept
 
 variant (const variant &other)
 
 variant (variant &&other) noexcept
 
template<typename T >
 variant (const T &t)
 
template<typename T >
 variant (T &&t, typename detail::are_different< variant, T, int >::type=0)
 
 ~variant ()
 
std::size_t index () const noexcept
 
variantoperator= (const variant &rhs)
 
variantoperator= (variant &&rhs) noexcept
 
template<class T >
detail::are_different< variant,
T, variant & >::type 
operator= (T &&t) noexcept
 
template<typename... Ts>
variant< Ts...> & operator= (const variant< Ts...> &rhs)
 
template<typename... Ts>
variant< Ts...> & operator= (variant< Ts...> &&rhs) noexcept
 
void swap (variant &rhs) noexcept
 

Static Public Member Functions

template<typename T >
static constexpr std::size_t index_of ()
 

Protected Attributes

Memory memory
 

Friends

template<typename T , typename... Us>
T & get (variant< Us...> &v)
 
template<typename T , typename... Us>
const T & get (const variant< Us...> &v)
 
template<typename... Us>
bool operator== (const variant< Us...> &lhs, const variant< Us...> &rhs)
 

Constructor & Destructor Documentation

template<typename... Ts>
cv::util::variant< Ts >::variant ( )
noexcept
template<typename... Ts>
cv::util::variant< Ts >::variant ( const variant< Ts > &  other)
template<typename... Ts>
cv::util::variant< Ts >::variant ( variant< Ts > &&  other)
noexcept
template<typename... Ts>
template<class T >
cv::util::variant< Ts >::variant ( const T &  t)
explicit
template<typename... Ts>
template<class T >
cv::util::variant< Ts >::variant ( T &&  t,
typename detail::are_different< variant< Ts >, T, int >::type  = 0 
)
explicit
template<typename... Ts>
cv::util::variant< Ts >::~variant ( )

Member Function Documentation

template<typename... Ts>
std::size_t cv::util::variant< Ts >::index ( ) const
noexcept
template<typename... Ts>
template<typename T >
constexpr std::size_t cv::util::variant< Ts >::index_of ( )
static
template<typename... Ts>
variant& cv::util::variant< Ts >::operator= ( const variant< Ts > &  rhs)
template<typename... Ts>
variant& cv::util::variant< Ts >::operator= ( variant< Ts > &&  rhs)
noexcept
template<typename... Ts>
template<class T >
detail::are_different< variant< Ts...>, T, variant< Ts...> & >::type cv::util::variant< Ts >::operator= ( T &&  t)
noexcept
template<typename... Ts>
template<typename... Ts>
variant<Ts...>& cv::util::variant< Ts >::operator= ( const variant< Ts...> &  rhs)
template<typename... Ts>
template<typename... Ts>
variant<Ts...>& cv::util::variant< Ts >::operator= ( variant< Ts...> &&  rhs)
noexcept
template<typename... Ts>
void cv::util::variant< Ts >::swap ( variant< Ts > &  rhs)
noexcept

Friends And Related Function Documentation

template<typename... Ts>
template<typename T , typename... Us>
T& get ( variant< Us...> &  v)
friend
template<typename... Ts>
template<typename T , typename... Us>
const T& get ( const variant< Us...> &  v)
friend
template<typename... Ts>
template<typename... Us>
bool operator== ( const variant< Us...> &  lhs,
const variant< Us...> &  rhs 
)
friend

Member Data Documentation

template<typename... Ts>
Memory cv::util::variant< Ts >::memory
protected

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