template<class T, ManagedObjectAccess Access>
ManagedContainer class
Class template defining responsibilities and functionality for managing esp::
Template parameters | |
---|---|
T | the type of managed object a particular specialization of this class works with. Must inherit from esp:: |
Access | Whether the default access (getters) for this container provides copies of the objects held, or the actual objects themselves. |
Base classes
- class ManagedContainerBase
- Base class of Managed Container, holding template-type-independent functionality.
Derived classes
-
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs. -
template<class T>class esp::physics::PhysicsObjectBaseManager
- Class template defining responsibilities and functionality for managineg object wrappers specializing esp::
physics:: AbstractManagedPhysicsObject template. -
template<class T>class esp::physics::PhysicsObjectBaseManager
- Class template defining responsibilities and functionality for managineg object wrappers specializing esp::
physics:: AbstractManagedPhysicsObject template. -
template<class T, ManagedObjectAccess Access>class ManagedFileBasedContainer
- Class template defining file-io-based responsibilities and functionality for managing esp::
core:: managedContainers:: AbstractFileBasedManagedObject constructs.
Public types
-
using ManagedPtr = std::
shared_ptr<T> - Alias for shared pointer to the esp::
core:: managedContainers:: AbstractManagedObject this container manages.
Constructors, destructors, conversion operators
-
ManagedContainer(const std::
string& metadataType) explicit - Constructor.
Public functions
-
auto createObject(const std::
string& objectHandle, bool registerObject = true) -> ManagedPtr pure virtual - Creates an instance of a managed object described by passed string.
-
auto createDefaultObject(const std::
string& objectName, bool registerObject = false) -> ManagedPtr - Creates an instance of a managed object holding default values.
-
auto registerObject(ManagedPtr managedObject,
const std::
string& objectHandle = "", bool forceRegistration = false) -> int - Add a copy of esp::
core:: managedContainers:: AbstractManagedObject to the objectLibrary_. - auto getObjectByID(int managedObjectID) const -> ManagedPtr
- Get a reference to the managed object identified by the managedObjectID. Should only be used internally - Users should only ever access copies of managed objects, unless this managed container's
Access
policy is Share. -
auto getObjectByHandle(const std::
string& objectHandle) const -> ManagedPtr - Get a reference to the managed object identified by the passed objectHandle. Should only be used internally - Users should only ever access copies of managed objects, unless this managed container's
Access
policy is Share. -
auto getFirstMatchingObjectByHandle(const std::
string& objectHandle) const -> ManagedPtr - Get a reference to the first matching managed object that contains the passed string as a substring for it's handle. Should only be used internally - Users should only ever access copies of managed objects, unless this managed container's
Access
policy is Share. -
auto getObjectsByHandleSubstring(const std::
string& subStr = "", bool contains = true) -> std:: unordered_map<std:: string, ManagedPtr> - Retrieve a map of key= std::string handle; value = copy of ManagedPtr object where the handles match the passed . See ManagedContainerBase::
getAllObjectHandlesBySubStringPerType. -
template<class U>auto getObjectsByHandleSubstring(const std::
string& subStr = "", bool contains = true) -> std:: unordered_map<std:: string, std:: shared_ptr<U>> - Templated version. Retrieve a map of key= std::string handle; value = copy of ManagedPtr object where the handles match the passed . See ManagedContainerBase::
getAllObjectHandlesBySubStringPerType. - auto removeObjectByID(int objectID) -> ManagedPtr
- Remove the managed object referenced by the passed string handle. Will emplace managed object ID within deque of usable IDs and return the managed object being removed.
-
auto removeObjectByHandle(const std::
string& objectHandle) -> ManagedPtr - Remove the managed object referenced by the passed string handle. Will emplace managed object ID within deque of usable IDs and return the managed object being removed.
-
auto removeAllObjects() -> std::
vector<ManagedPtr> - Remove all managed objects that have not been marked as default/non-removable, and return a vector of the managed objects removed.
-
auto removeObjectsBySubstring(const std::
string& subStr = "", bool contains = true) -> std:: vector<ManagedPtr> - Remove managed objects that contain passed substring and that have not been marked as default/non-removable, and return a vector of the managed objects removed.
- auto getObjectOrCopyByID(int managedObjectID) -> ManagedPtr
- Get a reference to, or a copy of, the managed object identified by the
managedObjectID
, depending onAccess
value. This is the function that should be be accessed by the user for general object consumption by ID. -
auto getObjectOrCopyByHandle(const std::
string& objectHandle) -> ManagedPtr - Get a reference to, or a copy of, the managed object identified by the
objectHandle
, depending onAccess
value. This is the function that should be be accessed by the user for general object consumption by Handle. -
auto getFirstMatchingObjectOrCopyByHandle(const std::
string& handleSubstr) -> ManagedPtr - Get a reference to, or a copy of, the first managed object found containing the passed the
handleSubstr
, as part of its handle. depending onAccess
value. This is the function that should be be accessed by the user for handle substring consumption. -
template<class U>auto getObjectOrCopyByID(int managedObjectID) -> std::
shared_ptr<U> - Get a reference to, or a copy of, the managed object identified by the
managedObjectID
, depending onAccess
value, and casted to the appropriate derived managed object class. This is the version that should be accessed by the user for type-casted object consumption by ID. -
template<class U>auto getObjectOrCopyByHandle(const std::
string& objectHandle) -> std:: shared_ptr<U> - Get a reference to, or a copy of, the managed object identified by the
managedObjectID
, depending onAccess
value, and casted to the appropriate derived managed object class. This is the version that should be accessed by the user for type-casted object consumption by Handle. - auto getObjectCopyByID(int managedObjectID) -> ManagedPtr
- Get a reference to a copy of the managed object identified by the
managedObjectID
. -
auto getObjectCopyByHandle(const std::
string& objectHandle) -> ManagedPtr - Get a reference to a copy of the object specified by
objectHandle
. -
auto getFirstMatchingObjectCopyByHandle(const std::
string& handleSubstr) -> ManagedPtr - Get a reference to a copy of the first object found containing the specified by
handleSubstr
. -
template<class U>auto getObjectCopyByID(int managedObjectID) -> std::
shared_ptr<U> - Get a reference to a copy of the managed object identified by the
managedObjectID
, casted to the appropriate derived managed object class. -
template<class U>auto getObjectCopyByHandle(const std::
string& objectHandle) -> std:: shared_ptr<U> - Get a reference to a copy of the object specified by
objectHandle
, casted to the appropriate derived managed object class. - void setDefaultObject(ManagedPtr& _defaultObj) virtual
- Set the object to provide default values upon construction of esp::
core:: managedContainers:: AbstractManagedObject. Override if object should not have defaults. - void clearDefaultObject()
- Clear any default objects used for construction.
Protected types
-
using Map_Of_CopyCtors = std::
unordered_map<std:: string, ManagedPtr(ManagedContainer<T, Access>::*)(ManagedPtr&)> - Define a map type referencing function pointers to createObjectCopy keyed by string names of classes being instanced,.
Protected functions
- auto postCreateRegister(ManagedPtr object, bool doRegistration) -> ManagedPtr
- Perform post creation registration if specified.
-
auto initNewObjectInternal(const std::
string& objectHandle, bool builtFromConfig) -> ManagedPtr pure virtual - Used Internally. Create and configure newly-created managed object with any default values, before any specific values are set.
-
auto removeObjectInternal(int objectID,
const std::
string& objectHandle, const std:: string& src) -> ManagedPtr - Used Internally. Remove the managed object referenced by the passed string handle. Will emplace managed object ID within deque of usable IDs and return the managed object being removed.
-
template<class U>auto createObjCopyCtorMapEntry(ManagedPtr& orig) -> ManagedPtr
- This is the function called by the copy constructor map. Build a shared pointer to a copy of a the passed managed object, of appropriate managed object type for passed object type.
- auto copyObject(ManagedPtr& origAttr) -> ManagedPtr
- Build an esp::
core:: managedContainers:: AbstractManagedObject object of type associated with passed object. -
auto constructFromDefault(const std::
string& newHandle) -> ManagedPtr - Create a new object as a copy of
defaultObject_
if it exists, otherwise return nullptr. -
auto preRegisterObjectFinalize(ManagedPtr object,
const std::
string& objectHandle, bool forceRegistration) -> ManagedObjectPreregistration pure virtual - This method will perform any final conditioning or updated required by the ManagedPtr object before it is registered.
-
void postRegisterObjectHandling(int objectID,
const std::
string& objectHandle) pure virtual - This method will perform any final manager-related handling after successfully registering an object.
Protected variables
-
Map_
Of_ CopyCtors copyConstructorMap_ - Map of function pointers to instantiate a copy of a managed object. A managed object is instanced by accessing the approrpiate function pointer. THIS MUST BE INSTANCED IN SPECIALIZATION CONSTRUCTOR.
- ManagedPtr defaultObj_
- An object to provide default values, to be used upon AbstractManagedObject construction.
Function documentation
template<class T, ManagedObjectAccess Access>
esp:: core:: managedContainers:: ManagedContainer<T, Access>:: ManagedContainer(const std:: string& metadataType) explicit
Constructor.
Parameters | |
---|---|
metadataType | The name of the managed object type. |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: createObject(const std:: string& objectHandle,
bool registerObject = true) pure virtual
Creates an instance of a managed object described by passed string.
Parameters | |
---|---|
objectHandle | the origin of the desired managed object to be created. |
registerObject | whether to add this managed object to the library or not. If the user is going to edit this managed object, this should be false. Defaults to true. If specified as true, then this function returns a copy of the registered managed object. |
Returns | a reference to the desired managed object. |
If a managed object exists with this handle, the existing managed object will be overwritten with the newly created one if registerObject is true.
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: createDefaultObject(const std:: string& objectName,
bool registerObject = false)
Creates an instance of a managed object holding default values.
Parameters | |
---|---|
objectName | The desired handle for this managed object. |
registerObject | whether to add this managed object to the library or not. If the user is going to edit this managed object, this should be false. If specified as true, then this function returns a copy of the registered managed object. Defaults to false. If specified as true, then this function returns a copy of the registered managed object. |
Returns | a reference to the desired managed object. |
If a managed object exists with this handle, the existing managed object will be overwritten with the newly created one if registerObject is true. This method is specifically intended to directly construct an managed object for editing, and so defaults to false for registerObject
template<class T, ManagedObjectAccess Access>
int esp:: core:: managedContainers:: ManagedContainer<T, Access>:: registerObject(ManagedPtr managedObject,
const std:: string& objectHandle = "",
bool forceRegistration = false)
Add a copy of esp::
Parameters | |
---|---|
managedObject | The managed object. |
objectHandle | The key for referencing the managed object in the ManagedContainerBase::objectLibrary_. Will be set as origin handle for managed object. If empty string, use existing origin handle. |
forceRegistration | Will register object even if conditional registration checks fail in registerObjectInternal. |
Returns | The unique ID of the managed object being registered, or ID_UNDEFINED if failed |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectByID(int managedObjectID) const
Get a reference to the managed object identified by the managedObjectID. Should only be used internally - Users should only ever access copies of managed objects, unless this managed container's Access
policy is Share.
Parameters | |
---|---|
managedObjectID | The ID of the managed object. Is mapped to the key referencing the asset in ManagedContainerBase::objectLibrary_ . |
Returns | A mutable reference to the object managed object, or nullptr if does not exist |
Can be used to manipulate a managed object before instancing new objects.
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectByHandle(const std:: string& objectHandle) const
Get a reference to the managed object identified by the passed objectHandle. Should only be used internally - Users should only ever access copies of managed objects, unless this managed container's Access
policy is Share.
Parameters | |
---|---|
objectHandle | The key referencing the managed object in objectLibrary_. |
Returns | A reference to the managed object, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getFirstMatchingObjectByHandle(const std:: string& objectHandle) const
Get a reference to the first matching managed object that contains the passed string as a substring for it's handle. Should only be used internally - Users should only ever access copies of managed objects, unless this managed container's Access
policy is Share.
Parameters | |
---|---|
objectHandle | The substring of the handle referencing the managed object in objectLibrary_ to search for. |
Returns | A reference to the first managed object, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
std:: unordered_map<std:: string, ManagedPtr> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectsByHandleSubstring(const std:: string& subStr = "",
bool contains = true)
Retrieve a map of key= std::string handle; value = copy of ManagedPtr object where the handles match the passed . See ManagedContainerBase::
Parameters | |
---|---|
subStr | substring key to search for within existing managed objects. |
contains | whether to search for keys containing, or excluding, passed subStr |
Returns | a map of the objects whose keys match the specified substring search. |
template<class T, ManagedObjectAccess Access>
template<class U>
std:: unordered_map<std:: string, std:: shared_ptr<U>> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectsByHandleSubstring(const std:: string& subStr = "",
bool contains = true)
Templated version. Retrieve a map of key= std::string handle; value = copy of ManagedPtr object where the handles match the passed . See ManagedContainerBase::
Parameters | |
---|---|
subStr | substring key to search for within existing managed objects. |
contains | whether to search for keys containing, or excluding, passed subStr |
Returns | a map of the objects whose keys match the specified substring search. |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: removeObjectByID(int objectID)
Remove the managed object referenced by the passed string handle. Will emplace managed object ID within deque of usable IDs and return the managed object being removed.
Parameters | |
---|---|
objectID | The ID of the managed object desired. |
Returns | the desired managed object being deleted, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: removeObjectByHandle(const std:: string& objectHandle)
Remove the managed object referenced by the passed string handle. Will emplace managed object ID within deque of usable IDs and return the managed object being removed.
Parameters | |
---|---|
objectHandle | the string key of the managed object desired. |
Returns | the desired managed object being deleted, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
std:: vector<ManagedPtr> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: removeAllObjects()
Remove all managed objects that have not been marked as default/non-removable, and return a vector of the managed objects removed.
Returns | A vector containing all the managed objects that have been removed from the library. |
---|
template<class T, ManagedObjectAccess Access>
std:: vector<ManagedPtr> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: removeObjectsBySubstring(const std:: string& subStr = "",
bool contains = true)
Remove managed objects that contain passed substring and that have not been marked as default/non-removable, and return a vector of the managed objects removed.
Parameters | |
---|---|
subStr | substring to search for within existing primitive object managed objects |
contains | whether to search for keys containing, or excluding, substr |
Returns | A vector containing all the managed objects that have been removed from the library. |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectOrCopyByID(int managedObjectID)
Get a reference to, or a copy of, the managed object identified by the managedObjectID
, depending on Access
value. This is the function that should be be accessed by the user for general object consumption by ID.
Parameters | |
---|---|
managedObjectID | The ID of the managed object. Is mapped to the key referencing the asset in ManagedContainerBase::objectLibrary_ . |
Returns | A mutable reference to the managed object, or a copy, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectOrCopyByHandle(const std:: string& objectHandle)
Get a reference to, or a copy of, the managed object identified by the objectHandle
, depending on Access
value. This is the function that should be be accessed by the user for general object consumption by Handle.
Parameters | |
---|---|
objectHandle | the string key of the managed object desired. |
Returns | A mutable reference to the managed object, or a copy, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getFirstMatchingObjectOrCopyByHandle(const std:: string& handleSubstr)
Get a reference to, or a copy of, the first managed object found containing the passed the handleSubstr
, as part of its handle. depending on Access
value. This is the function that should be be accessed by the user for handle substring consumption.
Parameters | |
---|---|
handleSubstr | the substring key to use to find the first matching copy. |
Returns | A mutable reference to the managed object, or a copy, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
template<class U>
std:: shared_ptr<U> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectOrCopyByID(int managedObjectID)
Get a reference to, or a copy of, the managed object identified by the managedObjectID
, depending on Access
value, and casted to the appropriate derived managed object class. This is the version that should be accessed by the user for type-casted object consumption by ID.
Parameters | |
---|---|
managedObjectID | The ID of the managed object. Is mapped to the key referencing the asset in ManagedContainerBase::objectLibrary_. |
Returns | A mutable reference to the managed object, or a copy, casted to requested type, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
template<class U>
std:: shared_ptr<U> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectOrCopyByHandle(const std:: string& objectHandle)
Get a reference to, or a copy of, the managed object identified by the managedObjectID
, depending on Access
value, and casted to the appropriate derived managed object class. This is the version that should be accessed by the user for type-casted object consumption by Handle.
Parameters | |
---|---|
objectHandle | the string key of the managed object desired. |
Returns | A mutable reference to the managed object, or a copy, casted to requested type, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectCopyByID(int managedObjectID)
Get a reference to a copy of the managed object identified by the managedObjectID
.
Parameters | |
---|---|
managedObjectID | The ID of the managed object. Is mapped to the key referencing the asset in ManagedContainerBase::objectLibrary_ . |
Returns | A mutable reference to a copy of the managed object, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectCopyByHandle(const std:: string& objectHandle)
Get a reference to a copy of the object specified by objectHandle
.
Parameters | |
---|---|
objectHandle | the string key of the managed object desired. |
Returns | A mutable reference to a copy of the managed object, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getFirstMatchingObjectCopyByHandle(const std:: string& handleSubstr)
Get a reference to a copy of the first object found containing the specified by handleSubstr
.
Parameters | |
---|---|
handleSubstr | the string key of the managed object desired. |
Returns | A mutable reference to a copy of the managed object, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
template<class U>
std:: shared_ptr<U> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectCopyByID(int managedObjectID)
Get a reference to a copy of the managed object identified by the managedObjectID
, casted to the appropriate derived managed object class.
Parameters | |
---|---|
managedObjectID | The ID of the managed object. Is mapped to the key referencing the asset in ManagedContainerBase::objectLibrary_. |
Returns | A mutable reference to a copy of the managed object casted to the requested type, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
template<class U>
std:: shared_ptr<U> esp:: core:: managedContainers:: ManagedContainer<T, Access>:: getObjectCopyByHandle(const std:: string& objectHandle)
Get a reference to a copy of the object specified by objectHandle
, casted to the appropriate derived managed object class.
Parameters | |
---|---|
objectHandle | the string key of the managed object desired. |
Returns | A mutable reference to a copy of the managed object casted to the requested type, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
void esp:: core:: managedContainers:: ManagedContainer<T, Access>:: setDefaultObject(ManagedPtr& _defaultObj) virtual
Set the object to provide default values upon construction of esp::
Parameters | |
---|---|
_defaultObj | the object to use for defaults; |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: postCreateRegister(ManagedPtr object,
bool doRegistration) protected
Perform post creation registration if specified.
Parameters | |
---|---|
object | The managed object |
doRegistration | If managed object should be registered |
Returns | managed object, or null ptr if registration failed. |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: initNewObjectInternal(const std:: string& objectHandle,
bool builtFromConfig) pure virtual protected
Used Internally. Create and configure newly-created managed object with any default values, before any specific values are set.
Parameters | |
---|---|
objectHandle | handle name to be assigned to the managed object. |
builtFromConfig | Managed Object is being constructed from a config file (i.e. objectHandle is config file filename). If false this means Manage Object is being constructed as some kind of new/default. |
Returns | Newly created but unregistered ManagedObject pointer, with only default values set. |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: removeObjectInternal(int objectID,
const std:: string& objectHandle,
const std:: string& src) protected
Used Internally. Remove the managed object referenced by the passed string handle. Will emplace managed object ID within deque of usable IDs and return the managed object being removed.
Parameters | |
---|---|
objectID | the id of the managed object desired. |
objectHandle | the string key of the managed object desired. |
src | String denoting the source of the remove request. |
Returns | the desired managed object being deleted, or nullptr if does not exist |
template<class T, ManagedObjectAccess Access>
template<class U>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: createObjCopyCtorMapEntry(ManagedPtr& orig) protected
This is the function called by the copy constructor map. Build a shared pointer to a copy of a the passed managed object, of appropriate managed object type for passed object type.
Parameters | |
---|---|
orig | original object of type ManagedPtr being copied |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: copyObject(ManagedPtr& origAttr) protected
Build an esp::
Parameters | |
---|---|
origAttr | The ptr to the original AbstractManagedObject object to copy |
template<class T, ManagedObjectAccess Access>
ManagedPtr esp:: core:: managedContainers:: ManagedContainer<T, Access>:: constructFromDefault(const std:: string& newHandle) protected
Create a new object as a copy of defaultObject_
if it exists, otherwise return nullptr.
Parameters | |
---|---|
newHandle | the name for the copy of the default. |
Returns | New object or nullptr |
template<class T, ManagedObjectAccess Access>
ManagedObjectPreregistration esp:: core:: managedContainers:: ManagedContainer<T, Access>:: preRegisterObjectFinalize(ManagedPtr object,
const std:: string& objectHandle,
bool forceRegistration) pure virtual protected
This method will perform any final conditioning or updated required by the ManagedPtr object before it is registered.
Parameters | |
---|---|
object | the managed object to be registered |
objectHandle | the name to register the managed object with. Expected to be valid. |
forceRegistration | Will register object even if conditional registration checks fail. |
Returns | Whether there was an error in preconditioning the object that prevents successful registration. |
template<class T, ManagedObjectAccess Access>
void esp:: core:: managedContainers:: ManagedContainer<T, Access>:: postRegisterObjectHandling(int objectID,
const std:: string& objectHandle) pure virtual protected
This method will perform any final manager-related handling after successfully registering an object.
Parameters | |
---|---|
objectID | the ID of the successfully registered managed object |
objectHandle | The name of the managed object |
See esp::attributes::managers::ObjectAttributesManager foran example.