v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::base::StrongAlias< TagType, UnderlyingType > Class Template Reference

#include <strong-alias.h>

Collaboration diagram for v8::base::StrongAlias< TagType, UnderlyingType >:

Classes

struct  Hasher
 

Public Types

using underlying_type = UnderlyingType
 

Public Member Functions

 StrongAlias ()=default
 
constexpr StrongAlias (const UnderlyingType &v)
 
constexpr StrongAlias (UnderlyingType &&v) noexcept
 
constexpr UnderlyingType * operator-> ()
 
constexpr const UnderlyingType * operator-> () const
 
constexpr UnderlyingType & operator* () &
 
constexpr const UnderlyingType & operator* () const &
 
constexpr UnderlyingType && operator* () &&
 
constexpr const UnderlyingType && operator* () const &&
 
constexpr UnderlyingType & value () &
 
constexpr const UnderlyingType & value () const &
 
constexpr UnderlyingType && value () &&
 
constexpr const UnderlyingType && value () const &&
 
constexpr operator const UnderlyingType & () const &
 

Protected Attributes

UnderlyingType value_
 

Friends

auto operator<=> (const StrongAlias &lhs, const StrongAlias &rhs)=default
 
bool operator== (const StrongAlias &lhs, const StrongAlias &rhs)=default
 

Detailed Description

template<typename TagType, typename UnderlyingType>
class v8::base::StrongAlias< TagType, UnderlyingType >

Definition at line 74 of file strong-alias.h.

Member Typedef Documentation

◆ underlying_type

template<typename TagType , typename UnderlyingType >
using v8::base::StrongAlias< TagType, UnderlyingType >::underlying_type = UnderlyingType

Definition at line 76 of file strong-alias.h.

Constructor & Destructor Documentation

◆ StrongAlias() [1/3]

template<typename TagType , typename UnderlyingType >
v8::base::StrongAlias< TagType, UnderlyingType >::StrongAlias ( )
default

◆ StrongAlias() [2/3]

template<typename TagType , typename UnderlyingType >
v8::base::StrongAlias< TagType, UnderlyingType >::StrongAlias ( const UnderlyingType & v)
inlineexplicitconstexpr

Definition at line 79 of file strong-alias.h.

◆ StrongAlias() [3/3]

template<typename TagType , typename UnderlyingType >
v8::base::StrongAlias< TagType, UnderlyingType >::StrongAlias ( UnderlyingType && v)
inlineexplicitconstexprnoexcept

Definition at line 80 of file strong-alias.h.

Member Function Documentation

◆ operator const UnderlyingType &()

template<typename TagType , typename UnderlyingType >
v8::base::StrongAlias< TagType, UnderlyingType >::operator const UnderlyingType & ( ) const &
inlineexplicitconstexpr

Definition at line 98 of file strong-alias.h.

◆ operator*() [1/4]

template<typename TagType , typename UnderlyingType >
UnderlyingType & v8::base::StrongAlias< TagType, UnderlyingType >::operator* ( ) &
inlineconstexpr

Definition at line 86 of file strong-alias.h.

◆ operator*() [2/4]

template<typename TagType , typename UnderlyingType >
UnderlyingType && v8::base::StrongAlias< TagType, UnderlyingType >::operator* ( ) &&
inlineconstexpr

Definition at line 88 of file strong-alias.h.

◆ operator*() [3/4]

template<typename TagType , typename UnderlyingType >
const UnderlyingType & v8::base::StrongAlias< TagType, UnderlyingType >::operator* ( ) const &
inlineconstexpr

Definition at line 87 of file strong-alias.h.

◆ operator*() [4/4]

template<typename TagType , typename UnderlyingType >
const UnderlyingType && v8::base::StrongAlias< TagType, UnderlyingType >::operator* ( ) const &&
inlineconstexpr

Definition at line 89 of file strong-alias.h.

◆ operator->() [1/2]

template<typename TagType , typename UnderlyingType >
UnderlyingType * v8::base::StrongAlias< TagType, UnderlyingType >::operator-> ( )
inlineconstexpr

Definition at line 83 of file strong-alias.h.

◆ operator->() [2/2]

template<typename TagType , typename UnderlyingType >
const UnderlyingType * v8::base::StrongAlias< TagType, UnderlyingType >::operator-> ( ) const
inlineconstexpr

Definition at line 84 of file strong-alias.h.

◆ value() [1/4]

template<typename TagType , typename UnderlyingType >
UnderlyingType & v8::base::StrongAlias< TagType, UnderlyingType >::value ( ) &
inlineconstexpr

Definition at line 93 of file strong-alias.h.

Here is the caller graph for this function:

◆ value() [2/4]

template<typename TagType , typename UnderlyingType >
UnderlyingType && v8::base::StrongAlias< TagType, UnderlyingType >::value ( ) &&
inlineconstexpr

Definition at line 95 of file strong-alias.h.

◆ value() [3/4]

template<typename TagType , typename UnderlyingType >
const UnderlyingType & v8::base::StrongAlias< TagType, UnderlyingType >::value ( ) const &
inlineconstexpr

Definition at line 94 of file strong-alias.h.

◆ value() [4/4]

template<typename TagType , typename UnderlyingType >
const UnderlyingType && v8::base::StrongAlias< TagType, UnderlyingType >::value ( ) const &&
inlineconstexpr

Definition at line 96 of file strong-alias.h.

Friends And Related Symbol Documentation

◆ operator<=>

template<typename TagType , typename UnderlyingType >
auto operator<=> ( const StrongAlias< TagType, UnderlyingType > & lhs,
const StrongAlias< TagType, UnderlyingType > & rhs )
friend

◆ operator==

template<typename TagType , typename UnderlyingType >
bool operator== ( const StrongAlias< TagType, UnderlyingType > & lhs,
const StrongAlias< TagType, UnderlyingType > & rhs )
friend

Member Data Documentation

◆ value_

template<typename TagType , typename UnderlyingType >
UnderlyingType v8::base::StrongAlias< TagType, UnderlyingType >::value_
protected

Definition at line 126 of file strong-alias.h.


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