SDEngine
Game Engine
Loading...
Searching...
No Matches
sd::LayerList Struct Reference

#include <LayerList.hpp>

+ Collaboration diagram for sd::LayerList:

Public Types

using iterator = LayerNode *
 
using const_iterator = const LayerNode *
 

Public Member Functions

 LayerList ()
 
 ~LayerList ()
 
 LayerList (const LayerList &)=delete
 
LayerListoperator= (const LayerList &)=delete
 
 LayerList (LayerList &&other) noexcept
 
LayerListoperator= (LayerList &&other) noexcept
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
template<typename T , typename... Args>
requires std::is_base_of_v<Layer, T>
T & push_layer (Args &&... args)
 
template<typename T , typename... Args>
requires std::is_base_of_v<Layer, T>
T & push_bottom (Args &&... args)
 
template<typename T >
requires std::is_base_of_v<Layer, T>
T * Get ()
 
template<typename T >
requires std::is_base_of_v<Layer, T>
T * pop_layer ()
 
void clear ()
 
void update (float dt) const
 
void on_fixed_update (double dt) const
 
void gui_render () const
 
void on_imGui_menu_bar () const
 
void on_event (EventVariant &e)
 
void on_swapchain_recreated () const
 
void on_shader_reload () const
 
void on_render (vk::CommandBuffer cmd) const
 
U64 size () const
 

Static Public Member Functions

template<typename T >
static void setup_fn_ptrs (LayerNode &node)
 

Public Attributes

Arenam_arena = nullptr
 
ArenaVec< LayerNodem_layers
 

Member Typedef Documentation

◆ const_iterator

◆ iterator

Constructor & Destructor Documentation

◆ LayerList() [1/3]

sd::LayerList::LayerList ( )
inline

◆ ~LayerList()

sd::LayerList::~LayerList ( )
inline

◆ LayerList() [2/3]

sd::LayerList::LayerList ( const LayerList )
delete

◆ LayerList() [3/3]

sd::LayerList::LayerList ( LayerList &&  other)
inlinenoexcept

Member Function Documentation

◆ begin() [1/2]

iterator sd::LayerList::begin ( )
inline

◆ begin() [2/2]

const_iterator sd::LayerList::begin ( ) const
inline

◆ clear()

void sd::LayerList::clear ( )
inline

◆ end() [1/2]

iterator sd::LayerList::end ( )
inline

◆ end() [2/2]

const_iterator sd::LayerList::end ( ) const
inline

◆ Get()

template<typename T >
requires std::is_base_of_v<Layer, T>
T * sd::LayerList::Get ( )
inline

◆ gui_render()

void sd::LayerList::gui_render ( ) const
inline

◆ on_event()

void sd::LayerList::on_event ( EventVariant e)
inline

◆ on_fixed_update()

void sd::LayerList::on_fixed_update ( double  dt) const
inline

◆ on_imGui_menu_bar()

void sd::LayerList::on_imGui_menu_bar ( ) const
inline

◆ on_render()

void sd::LayerList::on_render ( vk::CommandBuffer  cmd) const
inline

◆ on_shader_reload()

void sd::LayerList::on_shader_reload ( ) const
inline

◆ on_swapchain_recreated()

void sd::LayerList::on_swapchain_recreated ( ) const
inline

◆ operator=() [1/2]

LayerList & sd::LayerList::operator= ( const LayerList )
delete

◆ operator=() [2/2]

LayerList & sd::LayerList::operator= ( LayerList &&  other)
inlinenoexcept

◆ pop_layer()

template<typename T >
requires std::is_base_of_v<Layer, T>
T * sd::LayerList::pop_layer ( )
inline

◆ push_bottom()

template<typename T , typename... Args>
requires std::is_base_of_v<Layer, T>
T & sd::LayerList::push_bottom ( Args &&...  args)
inline

◆ push_layer()

template<typename T , typename... Args>
requires std::is_base_of_v<Layer, T>
T & sd::LayerList::push_layer ( Args &&...  args)
inline

◆ setup_fn_ptrs()

template<typename T >
static void sd::LayerList::setup_fn_ptrs ( LayerNode node)
inlinestatic

◆ size()

U64 sd::LayerList::size ( ) const
inline

◆ update()

void sd::LayerList::update ( float  dt) const
inline

Member Data Documentation

◆ m_arena

Arena* sd::LayerList::m_arena = nullptr

◆ m_layers

ArenaVec<LayerNode> sd::LayerList::m_layers

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