Horizon Official Technical Documentation
SharedPriorityResourceManager< SharedPriorityResourceMediums > Class Template Reference

#include <Server.hpp>

Public Member Functions

 SharedPriorityResourceManager (SharedPriorityResourceMediums... mediums)
 
 SharedPriorityResourceManager (const SharedPriorityResourceManager &other)
 
 SharedPriorityResourceManager (SharedPriorityResourceManager &&other)
 
SharedPriorityResourceManageroperator= (const SharedPriorityResourceManager &other)
 
SharedPriorityResourceManageroperator= (SharedPriorityResourceManager &&other)
 
template<std::size_t Priority>
auto & get_medium ()
 
template<std::size_t Index, typename Key , typename Value >
void add (Key key, Value value)
 
template<std::size_t Index, typename Key >
void remove (Key key)
 
template<std::size_t Index, typename Key , typename Value >
Value get_resource (Key key, Value const &default_value=Value())
 
template<std::size_t Index>
int size ()
 
template<std::size_t Index>
void clear ()
 

Private Attributes

std::tuple< SharedPriorityResourceMediums... > _resources
 

Constructor & Destructor Documentation

◆ SharedPriorityResourceManager() [1/3]

template<typename... SharedPriorityResourceMediums>
SharedPriorityResourceManager< SharedPriorityResourceMediums >::SharedPriorityResourceManager ( SharedPriorityResourceMediums...  mediums)
inline
140: _resources(mediums...) { }
std::tuple< SharedPriorityResourceMediums... > _resources
Definition: Server.hpp:187

◆ SharedPriorityResourceManager() [2/3]

template<typename... SharedPriorityResourceMediums>
SharedPriorityResourceManager< SharedPriorityResourceMediums >::SharedPriorityResourceManager ( const SharedPriorityResourceManager< SharedPriorityResourceMediums > &  other)
inline
143: _resources(std::move(other._resources)) { }

◆ SharedPriorityResourceManager() [3/3]

template<typename... SharedPriorityResourceMediums>
SharedPriorityResourceManager< SharedPriorityResourceMediums >::SharedPriorityResourceManager ( SharedPriorityResourceManager< SharedPriorityResourceMediums > &&  other)
inline
145: _resources(std::move(other._resources)) { }

Member Function Documentation

◆ add()

template<typename... SharedPriorityResourceMediums>
template<std::size_t Index, typename Key , typename Value >
void SharedPriorityResourceManager< SharedPriorityResourceMediums >::add ( Key  key,
Value  value 
)
inline

◆ clear()

template<typename... SharedPriorityResourceMediums>
template<std::size_t Index>
void SharedPriorityResourceManager< SharedPriorityResourceMediums >::clear ( )
inline
182 {
183 std::get<Index>(_resources).clear();
184 }

References SharedPriorityResourceManager< SharedPriorityResourceMediums >::_resources.

Referenced by Horizon::Zone::GameLogicProcess::finalize().

+ Here is the caller graph for this function:

◆ get_medium()

template<typename... SharedPriorityResourceMediums>
template<std::size_t Priority>
auto & SharedPriorityResourceManager< SharedPriorityResourceMediums >::get_medium ( )
inline
152 {
153 return std::get<Priority>(_resources);
154 }

References SharedPriorityResourceManager< SharedPriorityResourceMediums >::_resources.

Referenced by Horizon::Zone::GameLogicProcess::MonsterSpawnAgent::despawn_monsters().

+ Here is the caller graph for this function:

◆ get_resource()

template<typename... SharedPriorityResourceMediums>
template<std::size_t Index, typename Key , typename Value >
Value SharedPriorityResourceManager< SharedPriorityResourceMediums >::get_resource ( Key  key,
Value const &  default_value = Value() 
)
inline
170 {
171 return std::get<Index>(_resources).get(key, default_value);
172 }

References SharedPriorityResourceManager< SharedPriorityResourceMediums >::_resources.

◆ operator=() [1/2]

template<typename... SharedPriorityResourceMediums>
SharedPriorityResourceManager & SharedPriorityResourceManager< SharedPriorityResourceMediums >::operator= ( const SharedPriorityResourceManager< SharedPriorityResourceMediums > &  other)
inline

◆ operator=() [2/2]

template<typename... SharedPriorityResourceMediums>
SharedPriorityResourceManager & SharedPriorityResourceManager< SharedPriorityResourceMediums >::operator= ( SharedPriorityResourceManager< SharedPriorityResourceMediums > &&  other)
inline

◆ remove()

template<typename... SharedPriorityResourceMediums>
template<std::size_t Index, typename Key >
void SharedPriorityResourceManager< SharedPriorityResourceMediums >::remove ( Key  key)
inline

◆ size()

template<typename... SharedPriorityResourceMediums>
template<std::size_t Index>
int SharedPriorityResourceManager< SharedPriorityResourceMediums >::size ( )
inline
176 {
177 return std::get<Index>(_resources).size();
178 }

References SharedPriorityResourceManager< SharedPriorityResourceMediums >::_resources.

Member Data Documentation

◆ _resources


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