Tramway SDK
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tram::Component< T > Class Template Reference

Wrapper for an EntityComponent pointer. More...

#include <entitycomponent.h>

Public Member Functions

 Component ()
 
 ~Component ()
 
void make ()
 
void clear ()
 
T * get ()
 
T * operator-> ()
 
T & operator* ()
 
 operator T* ()
 
 operator bool ()
 

Protected Member Functions

void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 
void init ()
 
void yeet ()
 

Protected Attributes

T * ptr = nullptr
 

Detailed Description

template<typename T>
class tram::Component< T >

Wrapper for an EntityComponent pointer.

Automatically constructs the EntityComponent in the correct pool, also provides protection against accidental memory leaks.

Constructor & Destructor Documentation

◆ Component()

template<typename T >
tram::Component< T >::Component ( )
inline

◆ ~Component()

template<typename T >
tram::Component< T >::~Component ( )
inline

Member Function Documentation

◆ clear()

template<typename T >
void tram::Component< T >::clear ( )
inline

◆ get()

template<typename T >
T * tram::Component< T >::get ( )
inline

◆ init() [1/12]

void tram::Component< AnimationComponent >::init ( )
protected

◆ init() [2/12]

void tram::Component< AudioComponent >::init ( )
protected

◆ init() [3/12]

void tram::Component< FPSControllerComponent >::init ( )
protected

◆ init() [4/12]

void tram::Component< RaycastControllerComponent >::init ( )
protected

◆ init() [5/12]

void tram::Component< LightComponent >::init ( )
protected

◆ init() [6/12]

void tram::Component< ParticleComponent >::init ( )
protected

◆ init() [7/12]

void tram::Component< PhysicsComponent >::init ( )
protected

◆ init() [8/12]

void tram::Component< PlayerComponent >::init ( )
protected

◆ init() [9/12]

void tram::Component< RenderComponent >::init ( )
protected

◆ init() [10/12]

void tram::Component< SpriteComponent >::init ( )
protected

◆ init() [11/12]

void tram::Component< TriggerComponent >::init ( )
protected

◆ init() [12/12]

template<typename T >
void tram::Component< T >::init ( )
protected

◆ make()

template<typename T >
void tram::Component< T >::make ( )
inline

◆ operator bool()

template<typename T >
tram::Component< T >::operator bool ( )
inlineexplicit

◆ operator T*()

template<typename T >
tram::Component< T >::operator T* ( )
inline

◆ operator*()

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

◆ operator->()

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

◆ yeet() [1/12]

void tram::Component< AnimationComponent >::yeet ( )
protected

◆ yeet() [2/12]

void tram::Component< AudioComponent >::yeet ( )
protected

◆ yeet() [3/12]

void tram::Component< FPSControllerComponent >::yeet ( )
protected

◆ yeet() [4/12]

void tram::Component< RaycastControllerComponent >::yeet ( )
protected

◆ yeet() [5/12]

void tram::Component< LightComponent >::yeet ( )
protected

◆ yeet() [6/12]

void tram::Component< ParticleComponent >::yeet ( )
protected

◆ yeet() [7/12]

void tram::Component< PhysicsComponent >::yeet ( )
protected

◆ yeet() [8/12]

void tram::Component< PlayerComponent >::yeet ( )
protected

◆ yeet() [9/12]

void tram::Component< RenderComponent >::yeet ( )
protected

◆ yeet() [10/12]

void tram::Component< SpriteComponent >::yeet ( )
protected

◆ yeet() [11/12]

void tram::Component< TriggerComponent >::yeet ( )
protected

◆ yeet() [12/12]

template<typename T >
void tram::Component< T >::yeet ( )
protected

Member Data Documentation

◆ ptr

template<typename T >
T* tram::Component< T >::ptr = nullptr
protected

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