OpenCV 5.0.0-pre
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::util::variant< Ts > Class Template Reference

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

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

Public Member Functions

 variant () noexcept
 
 variant (const variant &other)
 
template<typename T , typename = util::are_different_t<variant, T>>
 variant (T &&t)
 
 variant (variant &&other) noexcept
 
 ~variant ()
 
std::size_t index () const noexcept
 
variantoperator= (const variant &rhs)
 
template<typename... Ts>
variant< Ts... > & operator= (const variant< Ts... > &rhs)
 
template<typename T , typename = util::are_different_t<variant, T>>
variantoperator= (T &&t) noexcept
 
template<typename T , typename >
variant< Ts... > & operator= (T &&t) noexcept
 
variantoperator= (variant &&rhs) noexcept
 
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>
const T & get (const variant< Us... > &v)
 
template<typename T , typename... Us>
T & get (variant< Us... > &v)
 
template<typename T , typename... Us>
const T * get_if (const variant< Us... > *v) noexcept
 
template<typename T , typename... Us>
T * get_if (variant< Us... > *v) noexcept
 
template<typename... Us>
bool operator== (const variant< Us... > &lhs, const variant< Us... > &rhs)
 

Constructor & Destructor Documentation

◆ variant() [1/4]

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

◆ variant() [2/4]

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

◆ variant() [3/4]

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

◆ variant() [4/4]

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

◆ ~variant()

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

Member Function Documentation

◆ index()

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

◆ index_of()

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

◆ operator=() [1/6]

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

◆ operator=() [2/6]

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

◆ operator=() [3/6]

template<typename... Ts>
template<typename T , typename = util::are_different_t<variant, T>>
variant & cv::util::variant< Ts >::operator= ( T && t)
noexcept

◆ operator=() [4/6]

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

◆ operator=() [5/6]

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

◆ operator=() [6/6]

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 Symbol Documentation

◆ get [1/2]

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

◆ get [2/2]

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

◆ get_if [1/2]

template<typename... Ts>
template<typename T , typename... Us>
const T * get_if ( const variant< Us... > * v)
friend

◆ get_if [2/2]

template<typename... Ts>
template<typename T , typename... Us>
T * get_if ( 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

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

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