Audacity 3.2.0
Public Types | List of all members
Variant::detail::VisitHelperReturn< Visitor, Variant > Struct Template Reference

Help to define Visit() below. More...

#include <Variant.h>

Public Types

using Var = std::remove_reference_t< Variant >
 
using Alt = std::variant_alternative_t< 0, Var >
 
using QAlt = std::conditional_t< std::is_const_v< Var >, const Alt, Alt >
 
using Arg = std::conditional_t< std::is_lvalue_reference_v< Variant >, std::add_lvalue_reference_t< QAlt >, std::add_rvalue_reference_t< QAlt > >
 
using type = decltype(std::invoke(std::declval< Visitor && >(), std::declval< Arg >()))
 

Detailed Description

template<typename Visitor, typename Variant>
struct Variant::detail::VisitHelperReturn< Visitor, Variant >

Help to define Visit() below.

Definition at line 30 of file Variant.h.

Member Typedef Documentation

◆ Alt

template<typename Visitor , typename Variant >
using Variant::detail::VisitHelperReturn< Visitor, Variant >::Alt = std::variant_alternative_t<0, Var>

Definition at line 32 of file Variant.h.

◆ Arg

template<typename Visitor , typename Variant >
using Variant::detail::VisitHelperReturn< Visitor, Variant >::Arg = std::conditional_t<std::is_lvalue_reference_v<Variant>, std::add_lvalue_reference_t<QAlt>, std::add_rvalue_reference_t<QAlt> >

Definition at line 35 of file Variant.h.

◆ QAlt

template<typename Visitor , typename Variant >
using Variant::detail::VisitHelperReturn< Visitor, Variant >::QAlt = std::conditional_t< std::is_const_v<Var>, const Alt, Alt >

Definition at line 33 of file Variant.h.

◆ type

template<typename Visitor , typename Variant >
using Variant::detail::VisitHelperReturn< Visitor, Variant >::type = decltype(std::invoke(std::declval<Visitor&&>(), std::declval<Arg>()))

Definition at line 38 of file Variant.h.

◆ Var

template<typename Visitor , typename Variant >
using Variant::detail::VisitHelperReturn< Visitor, Variant >::Var = std::remove_reference_t<Variant>

Definition at line 31 of file Variant.h.


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