Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SkNoDestructor< T > Class Template Reference

#include <SkNoDestructor.h>

Public Member Functions

template<typename... Args>
 SkNoDestructor (Args &&... args)
 
 SkNoDestructor (const T &x)
 
 SkNoDestructor (T &&x)
 
 SkNoDestructor (const SkNoDestructor &)=delete
 
SkNoDestructoroperator= (const SkNoDestructor &)=delete
 
 ~SkNoDestructor ()=default
 
const Toperator* () const
 
Toperator* ()
 
const Toperator-> () const
 
Toperator-> ()
 
const Tget () const
 
Tget ()
 

Detailed Description

template<typename T>
class SkNoDestructor< T >

Definition at line 84 of file SkNoDestructor.h.

Constructor & Destructor Documentation

◆ SkNoDestructor() [1/4]

template<typename T >
template<typename... Args>
SkNoDestructor< T >::SkNoDestructor ( Args &&...  args)
inlineexplicit

Definition at line 95 of file SkNoDestructor.h.

95 {
96 new (fStorage) T(std::forward<Args>(args)...);
97 }
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
#define T

◆ SkNoDestructor() [2/4]

template<typename T >
SkNoDestructor< T >::SkNoDestructor ( const T x)
inlineexplicit

Definition at line 101 of file SkNoDestructor.h.

101{ new (fStorage) T(x); }
double x

◆ SkNoDestructor() [3/4]

template<typename T >
SkNoDestructor< T >::SkNoDestructor ( T &&  x)
inlineexplicit

Definition at line 102 of file SkNoDestructor.h.

102{ new (fStorage) T(std::move(x)); }

◆ SkNoDestructor() [4/4]

template<typename T >
SkNoDestructor< T >::SkNoDestructor ( const SkNoDestructor< T > &  )
delete

◆ ~SkNoDestructor()

template<typename T >
SkNoDestructor< T >::~SkNoDestructor ( )
default

Member Function Documentation

◆ get() [1/2]

template<typename T >
T * SkNoDestructor< T >::get ( )
inline

Definition at line 116 of file SkNoDestructor.h.

116{ return reinterpret_cast<T*>(fStorage); }

◆ get() [2/2]

template<typename T >
const T * SkNoDestructor< T >::get ( ) const
inline

Definition at line 115 of file SkNoDestructor.h.

115{ return reinterpret_cast<const T*>(fStorage); }

◆ operator*() [1/2]

template<typename T >
T & SkNoDestructor< T >::operator* ( )
inline

Definition at line 110 of file SkNoDestructor.h.

110{ return *get(); }
const T * get() const

◆ operator*() [2/2]

template<typename T >
const T & SkNoDestructor< T >::operator* ( ) const
inline

Definition at line 109 of file SkNoDestructor.h.

109{ return *get(); }

◆ operator->() [1/2]

template<typename T >
T * SkNoDestructor< T >::operator-> ( )
inline

Definition at line 113 of file SkNoDestructor.h.

113{ return get(); }

◆ operator->() [2/2]

template<typename T >
const T * SkNoDestructor< T >::operator-> ( ) const
inline

Definition at line 112 of file SkNoDestructor.h.

112{ return get(); }

◆ operator=()

template<typename T >
SkNoDestructor & SkNoDestructor< T >::operator= ( const SkNoDestructor< T > &  )
delete

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