OpenCV  4.5.4-dev
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>

Inheritance diagram for cv::util::variant< Ts >:
cv::GRunArg cv::gapi::wip::Data

Public Member Functions

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

◆ index_of()

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

◆ operator=() [1/6]

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

◆ operator=() [2/6]

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

◆ 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... Ts>
variant<Ts...>& cv::util::variant< Ts >::operator= ( const variant< Ts... > &  rhs)

◆ operator=() [5/6]

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

◆ operator=() [6/6]

template<typename... Ts>
template<typename T , typename >
variant<Ts...>& cv::util::variant< Ts >::operator= ( T &&  t)
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

◆ get_if [1/2]

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

◆ get_if [2/2]

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

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

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