Shaka Player Embedded
Public Member Functions | Static Public Member Functions | List of all members
shaka::Member< T > Class Template Reference

#include <member.h>

Inheritance diagram for shaka::Member< T >:
shaka::GenericConverter shaka::memory::Traceable

Public Member Functions

 Member ()
 
 Member (std::nullptr_t)
 
template<typename U >
 Member (U *other)
 
 Member (const Member &other)
 
template<typename U >
 Member (const Member< U > &other)
 
 Member (Member &&other)
 
template<typename U >
 Member (Member< U > &&other)
 
template<typename U >
 Member (const RefPtr< U > &other)
 
template<typename U >
 Member (RefPtr< U > &&other)
 
 ~Member () override
 
Memberoperator= (const Member &other)
 
Memberoperator= (Member &&other)
 
T & operator* () const
 
T * operator-> () const
 
 operator T* () const
 
bool empty () const
 
T * get () const
 
template<typename U = T>
void reset (U *other=nullptr)
 
bool TryConvert (Handle< JsValue > source) override
 
ReturnVal< JsValue > ToJsValue () const override
 
void Trace (memory::HeapTracer *tracer) const override
 
- Public Member Functions inherited from shaka::GenericConverter
virtual ~GenericConverter ()
 
- Public Member Functions inherited from shaka::memory::Traceable
virtual ~Traceable ()
 
virtual bool IsRootedAlive () const
 
virtual bool IsShortLived () const
 

Static Public Member Functions

static std::string name ()
 

Additional Inherited Members

- Static Public Attributes inherited from shaka::memory::Traceable
static constexpr const uint64_t kShortLiveDurationMs = 5000
 

Detailed Description

template<typename T>
class shaka::Member< T >

Defines a smart pointer type used to store references to GC types.

Note that when a field is of type Member<T>, it can be empty; this means the object is equal to |null| or was assigned to either |null| or |undefined|.

Definition at line 40 of file member.h.

Constructor & Destructor Documentation

§ Member() [1/9]

template<typename T>
shaka::Member< T >::Member ( )
inline

Definition at line 49 of file member.h.

§ Member() [2/9]

template<typename T>
shaka::Member< T >::Member ( std::nullptr_t  )
inline

Definition at line 51 of file member.h.

§ Member() [3/9]

template<typename T>
template<typename U >
shaka::Member< T >::Member ( U *  other)
inline

Definition at line 54 of file member.h.

§ Member() [4/9]

template<typename T>
shaka::Member< T >::Member ( const Member< T > &  other)
inline

Definition at line 58 of file member.h.

§ Member() [5/9]

template<typename T>
template<typename U >
shaka::Member< T >::Member ( const Member< U > &  other)
inline

Definition at line 63 of file member.h.

§ Member() [6/9]

template<typename T>
shaka::Member< T >::Member ( Member< T > &&  other)
inline

Definition at line 67 of file member.h.

§ Member() [7/9]

template<typename T>
template<typename U >
shaka::Member< T >::Member ( Member< U > &&  other)
inline

Definition at line 73 of file member.h.

§ Member() [8/9]

template<typename T>
template<typename U >
shaka::Member< T >::Member ( const RefPtr< U > &  other)
inline

Definition at line 79 of file member.h.

§ Member() [9/9]

template<typename T>
template<typename U >
shaka::Member< T >::Member ( RefPtr< U > &&  other)
inline

Definition at line 84 of file member.h.

§ ~Member()

template<typename T>
shaka::Member< T >::~Member ( )
inlineoverride

Definition at line 89 of file member.h.

Member Function Documentation

§ empty()

template<typename T>
bool shaka::Member< T >::empty ( ) const
inline
Returns
Whether the pointer is empty.

Definition at line 117 of file member.h.

§ get()

template<typename T>
T* shaka::Member< T >::get ( ) const
inline
Returns
The pointer this holds, may be nullptr.

Definition at line 122 of file member.h.

§ name()

template<typename T>
static std::string shaka::Member< T >::name ( )
inlinestatic

Definition at line 45 of file member.h.

§ operator T*()

template<typename T>
shaka::Member< T >::operator T* ( ) const
inline

Definition at line 112 of file member.h.

§ operator*()

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

Definition at line 104 of file member.h.

§ operator->()

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

Definition at line 108 of file member.h.

§ operator=() [1/2]

template<typename T>
Member& shaka::Member< T >::operator= ( const Member< T > &  other)
inline

Definition at line 94 of file member.h.

§ operator=() [2/2]

template<typename T>
Member& shaka::Member< T >::operator= ( Member< T > &&  other)
inline

Definition at line 98 of file member.h.

§ reset()

template<typename T>
template<typename U = T>
void shaka::Member< T >::reset ( U *  other = nullptr)
inline

Definition at line 127 of file member.h.

§ ToJsValue()

template<typename T>
ReturnVal<JsValue> shaka::Member< T >::ToJsValue ( ) const
inlineoverridevirtual

Converts the current value into a JavaScript value.

Implements shaka::GenericConverter.

Definition at line 146 of file member.h.

§ Trace()

template<typename T>
void shaka::Member< T >::Trace ( memory::HeapTracer tracer) const
inlineoverridevirtual

Called during a GC run. This should call HeapTracer::Trace on all Traceable members. Be sure to call the base method when overriding.

Implements shaka::memory::Traceable.

Definition at line 153 of file member.h.

§ TryConvert()

template<typename T>
bool shaka::Member< T >::TryConvert ( Handle< JsValue >  value)
inlineoverridevirtual

Tries to convert the given value into the required type, populating the members of this object as needed.

Returns
True on success, false on error.

Implements shaka::GenericConverter.

Definition at line 138 of file member.h.


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