Simulant  21.06-50
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
Classes | Public Types | Public Member Functions | List of all members
smlt::ObjectManager< IDType, ObjectType, true > Class Template Reference
Inheritance diagram for smlt::ObjectManager< IDType, ObjectType, true >:
smlt::_object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > >

Public Types

typedef _object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > > parent_class
 
typedef parent_class::ObjectTypePtr ObjectTypePtr
 
typedef parent_class::object_type object_type
 
- Public Types inherited from smlt::_object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > >
typedef ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > > this_type
 
typedef std::shared_ptr< ObjectType > ObjectTypePtr
 
typedef ObjectTypePtrType::element_type object_type
 

Public Member Functions

void update () override
 
void set_garbage_collection_method (IDType id, GarbageCollectMethod method)
 
- Public Member Functions inherited from smlt::_object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > >
uint32_t count () const
 
std::shared_ptr< ObjectType > clone (IDType id, this_type *target_manager=nullptr)
 
std::shared_ptr< ObjectType > make (Args &&... args)
 
std::shared_ptr< ObjectType > make_as (Args &&... args)
 
void destroy (IDType id)
 
void destroy_all ()
 
ObjectTypePtr get (IDType id) const
 
bool contains (IDType id) const
 
void each (std::function< void(uint32_t, ObjectTypePtr)> callback)
 
void each (std::function< void(uint32_t, const ObjectTypePtr)> callback) const
 
ObjectTypePtr find_object (const std::string &name) const
 

Additional Inherited Members

- Protected Types inherited from smlt::_object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > >
typedef std::shared_ptr< ObjectType > ObjectTypeInternalPtrType
 
- Protected Member Functions inherited from smlt::_object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > >
uint32_t next_id ()
 
virtual void on_get (IDType id)
 
- Protected Attributes inherited from smlt::_object_manager_impl::ObjectManagerBase< IDType, ObjectType, std::shared_ptr< ObjectType >, _object_manager_impl::ToSharedPtr< ObjectType > >
std::unordered_map< IDType, ObjectTypeInternalPtrType > objects_
 
sig::signal< void(ObjectType &, IDType)> signal_post_create_
 
sig::signal< void(ObjectType &, IDType)> signal_pre_destroy_
 

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