Flutter Engine
 
Loading...
Searching...
No Matches
base::win::internal::VariantUtil< ElementVartype > Struct Template Referencefinal

#include <variant_util.h>

Public Types

using Type = typename VartypeToNativeType< ElementVartype >::Type
 

Static Public Member Functions

static constexpr bool IsConvertibleTo (VARTYPE vartype)
 
static constexpr bool IsConvertibleFrom (VARTYPE vartype)
 
static Type RawGet (const VARIANT &var)
 
static void RawSet (VARIANT *var, Type value)
 

Detailed Description

template<VARTYPE ElementVartype>
struct base::win::internal::VariantUtil< ElementVartype >

Definition at line 122 of file variant_util.h.

Member Typedef Documentation

◆ Type

template<VARTYPE ElementVartype>
using base::win::internal::VariantUtil< ElementVartype >::Type = typename VartypeToNativeType<ElementVartype>::Type

Definition at line 123 of file variant_util.h.

Member Function Documentation

◆ IsConvertibleFrom()

template<VARTYPE ElementVartype>
static constexpr bool base::win::internal::VariantUtil< ElementVartype >::IsConvertibleFrom ( VARTYPE  vartype)
inlinestaticconstexpr

Definition at line 127 of file variant_util.h.

127 {
128 return VarTypeIsConvertibleTo(vartype, ElementVartype);
129 }
constexpr bool VarTypeIsConvertibleTo(VARTYPE self, VARTYPE other)

References base::win::internal::VarTypeIsConvertibleTo().

Referenced by base::win::internal::VariantUtil< ElementVartype >::RawGet().

◆ IsConvertibleTo()

template<VARTYPE ElementVartype>
static constexpr bool base::win::internal::VariantUtil< ElementVartype >::IsConvertibleTo ( VARTYPE  vartype)
inlinestaticconstexpr

Definition at line 124 of file variant_util.h.

124 {
125 return VarTypeIsConvertibleTo(ElementVartype, vartype);
126 }

References base::win::internal::VarTypeIsConvertibleTo().

Referenced by base::win::internal::VariantUtil< ElementVartype >::RawSet().

◆ RawGet()

template<VARTYPE ElementVartype>
static Type base::win::internal::VariantUtil< ElementVartype >::RawGet ( const VARIANT &  var)
inlinestatic

Definition at line 134 of file variant_util.h.

134 {
135 BASE_DCHECK(IsConvertibleFrom(V_VT(&var)));
136 return var.*VartypeToNativeType<ElementVartype>::kMemberOffset;
137 }
static constexpr bool IsConvertibleFrom(VARTYPE vartype)
#define BASE_DCHECK(condition)
Definition logging.h:63

References BASE_DCHECK, and base::win::internal::VariantUtil< ElementVartype >::IsConvertibleFrom().

◆ RawSet()

template<VARTYPE ElementVartype>
static void base::win::internal::VariantUtil< ElementVartype >::RawSet ( VARIANT *  var,
Type  value 
)
inlinestatic

Definition at line 141 of file variant_util.h.

141 {
142 BASE_DCHECK(IsConvertibleTo(V_VT(var)));
143 var->*VartypeToNativeType<ElementVartype>::kMemberOffset = value;
144 }
int32_t value
static constexpr bool IsConvertibleTo(VARTYPE vartype)

References BASE_DCHECK, base::win::internal::VariantUtil< ElementVartype >::IsConvertibleTo(), and value.


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