MUSX Document Model
Loading...
Searching...
No Matches
musx::dom::OthersPool Class Reference

A pool that manages collections of OthersBase objects. More...

#include <ObjectPool.h>

+ Inheritance diagram for musx::dom::OthersPool:

Public Member Functions

void add (const std::string &nodeName, const std::shared_ptr< OthersBase > &instance)
 OthersPool version of ObjectPool::add.
 
template<typename T >
std::vector< std::shared_ptr< T > > getArray (Cmper partId, std::optional< Cmper > cmper=std::nullopt) const
 OthersPool version of ObjectPool::getArray.
 
template<typename T >
std::shared_ptr< T > get (Cmper partId, Cmper cmper, std::optional< Inci > inci=std::nullopt) const
 OthersPool version of ObjectPool::get.
 
- Public Member Functions inherited from musx::dom::ObjectPool< OthersBase >
virtual ~ObjectPool ()=default
 virtual destructor
 
void add (const ObjectKey &key, ObjectPtr object)
 Adds an OthersBase object to the pool.
 
std::vector< std::shared_ptr< T > > getArray (const ObjectKey &key) const
 Retrieves a vector of objects of a specific type from the pool.
 
std::vector< std::shared_ptr< T > > getArrayForPart (const ObjectKey &key) const
 Retrieves a vector of objects of a specific type from the pool.
 
std::shared_ptr< T > get (const ObjectKey &key) const
 Retrieves the first (and usually only) object of a specific type from the pool.
 
std::shared_ptr< T > getEffectiveForPart (const ObjectKey &key) const
 Retrieves the first (and usually only) object of a specific type from the pool for a part.
 

Additional Inherited Members

- Public Types inherited from musx::dom::ObjectPool< OthersBase >
using ObjectPtr = std::shared_ptr< OthersBase >
 shared pointer to ObjectBaseType
 

Detailed Description

A pool that manages collections of OthersBase objects.