OpenCV  4.1.1-pre
Open Source Computer Vision
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!
cv::util::variant< Ts > Class Template Reference

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

Inheritance diagram for cv::util::variant< Ts >:
Collaboration diagram for cv::util::variant< Ts >:

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

◆ variant() [1/5]

template<typename... Ts>
cv::util::variant< Ts >::variant ( )
noexcept

◆ variant() [2/5]

template<typename... Ts>
cv::util::variant< Ts >::variant ( const variant< Ts > &  other)

◆ variant() [3/5]

template<typename... Ts>
cv::util::variant< Ts >::variant ( variant< Ts > &&  other)
noexcept

◆ variant() [4/5]

template<typename... Ts>
template<class T >
cv::util::variant< Ts >::variant ( const T &  t)
explicit

◆ variant() [5/5]

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

◆ ~variant()

template<typename... Ts>
cv::util::variant< Ts >::~variant ( )

Member Function Documentation

◆ index()

template<typename... Ts>
std::size_t cv::util::variant< Ts >::index ( ) const
noexcept

Referenced by cv::util::operator==(), and cv::util::variant< cv::util::monostate, ro_ext_t, rw_ext_t, rw_own_t >::swap().

Here is the caller graph for this function:

◆ index_of()

template<typename... Ts>
template<typename T >
constexpr std::size_t cv::util::variant< Ts >::index_of ( )
static

◆ operator=() [1/5]

template<typename... Ts>
variant& cv::util::variant< Ts >::operator= ( const variant< Ts > &  rhs)

◆ operator=() [2/5]

template<typename... Ts>
variant& cv::util::variant< Ts >::operator= ( variant< Ts > &&  rhs)
noexcept

◆ operator=() [3/5]

template<typename... Ts>
template<class T >
detail::are_different< variant< Ts... >, T, variant< Ts... > & >::type cv::util::variant< Ts >::operator= ( T &&  t)
noexcept

◆ operator=() [4/5]

template<typename... Ts>
template<typename... Ts>
variant<Ts...>& cv::util::variant< Ts >::operator= ( const variant< Ts... > &  rhs)

◆ operator=() [5/5]

template<typename... Ts>
template<typename... Ts>
variant<Ts...>& cv::util::variant< Ts >::operator= ( variant< Ts... > &&  rhs)
noexcept

◆ swap()

template<typename... Ts>
void cv::util::variant< Ts >::swap ( variant< Ts > &  rhs)
noexcept

Friends And Related Function Documentation

◆ get [1/2]

template<typename... Ts>
template<typename T , typename... Us>
T& get ( variant< Us... > &  v)
friend

◆ get [2/2]

template<typename... Ts>
template<typename T , typename... Us>
const T& get ( const variant< Us... > &  v)
friend

◆ operator==

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

Member Data Documentation

◆ memory


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