Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
fc::fwd< T, S, Align > Class Template Reference

Used to forward declare value types. More...

#include <fwd.hpp>

Public Member Functions

template<typename... U>
 fwd (U &&... u)
 
 fwd ()
 
 fwd (const fwd &f)
 
 fwd (fwd &&f)
 
 operator const T & () const
 
 operator T& ()
 
Toperator* ()
 
const Toperator* () const
 
const Toperator-> () const
 
Toperator-> ()
 
bool operator! () const
 
template<typename U >
Toperator= (U &&u)
 
Toperator= (fwd &&u)
 
Toperator= (const fwd &u)
 
 ~fwd ()
 

Detailed Description

template<typename T, unsigned int S, typename Align = double>
class fc::fwd< T, S, Align >

Definition at line 11 of file fwd.hpp.

Constructor & Destructor Documentation

◆ fwd() [1/4]

template<typename T , unsigned int S, typename A >
template<typename... U>
fc::fwd< T, S, A >::fwd ( U &&... u)

Definition at line 62 of file fwd_impl.hpp.

62 {
64 new (this) T( fc::forward<U>(u)... );
65 }
void check_size()
Definition fwd_impl.hpp:58
#define T(meth, val, expected)
Here is the call graph for this function:

◆ fwd() [2/4]

template<typename T , unsigned int S, typename A >
fc::fwd< T, S, A >::fwd ( )

Definition at line 68 of file fwd_impl.hpp.

68 {
70 new (this) T;
71 }
Here is the call graph for this function:

◆ fwd() [3/4]

template<typename T , unsigned int S, typename Align = double>
fc::fwd< T, S, Align >::fwd ( const fwd< T, S, Align > & f)

◆ fwd() [4/4]

template<typename T , unsigned int S, typename Align = double>
fc::fwd< T, S, Align >::fwd ( fwd< T, S, Align > && f)

◆ ~fwd()

template<typename T , unsigned int S, typename A >
fc::fwd< T, S, A >::~fwd ( )

Definition at line 102 of file fwd_impl.hpp.

102 {
103 ((T*)this)->~T();
104 }

Member Function Documentation

◆ operator const T &()

template<typename T , unsigned int S, typename A >
fc::fwd< T, S, A >::operator const T & ( ) const

Definition at line 88 of file fwd_impl.hpp.

88{ return *((const T*)this); }

◆ operator T&()

template<typename T , unsigned int S, typename A >
fc::fwd< T, S, A >::operator T& ( )

Definition at line 86 of file fwd_impl.hpp.

86{ return *(( T*)this); }

◆ operator!()

template<typename T , unsigned int S, typename A >
bool fc::fwd< T, S, A >::operator! ( ) const

Definition at line 54 of file fwd_impl.hpp.

54{ return !(**this); }

◆ operator*() [1/2]

template<typename T , unsigned int S, typename A >
T & fc::fwd< T, S, A >::operator* ( )

Definition at line 91 of file fwd_impl.hpp.

91{ return *((T*)this); }

◆ operator*() [2/2]

template<typename T , unsigned int S, typename A >
const T & fc::fwd< T, S, A >::operator* ( ) const

Definition at line 93 of file fwd_impl.hpp.

93{ return *((const T*)this); }

◆ operator->() [1/2]

template<typename T , unsigned int S, typename A >
T * fc::fwd< T, S, A >::operator-> ( )

Definition at line 98 of file fwd_impl.hpp.

98{ return ((T*)this); }

◆ operator->() [2/2]

template<typename T , unsigned int S, typename A >
const T * fc::fwd< T, S, A >::operator-> ( ) const

Definition at line 95 of file fwd_impl.hpp.

95{ return ((const T*)this); }

◆ operator=() [1/3]

template<typename T , unsigned int S, typename Align = double>
T & fc::fwd< T, S, Align >::operator= ( const fwd< T, S, Align > & u)

◆ operator=() [2/3]

template<typename T , unsigned int S, typename Align = double>
T & fc::fwd< T, S, Align >::operator= ( fwd< T, S, Align > && u)

◆ operator=() [3/3]

template<typename T , unsigned int S, typename A >
template<typename U >
T & fc::fwd< T, S, A >::operator= ( U && u)

Definition at line 107 of file fwd_impl.hpp.

107 {
108 return **this = fc::forward<U>(u);
109 }

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