| OpenCV 4.3.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>`

Inheritance 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
variant & | operator= (const variant &rhs)
variant & | operator= (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

## ◆ 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

template<typename... Ts>

Memory cv::util::variant< Ts >::memory
| protected

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

- opencv2/gapi/util/variant.hpp