Skip to content
Snippets Groups Projects
Commit 1bae0746 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Add typedef for armarx::armem::wm::EntityInstanceBase<AronDtoT>

parent f610be4a
No related branches found
No related tags found
No related merge requests found
......@@ -47,6 +47,32 @@ namespace armarx::armem::wm
bool equalsDeep(const EntityInstance& other) const;
};
/**
* @brief Entity instance with a concrete ARON DTO type as data.
*
* This is the return type of EntityInstance::withDataAs<AronDtoT>().
*
* Usage example:
* @code
* #include <RobotAPI/libraries/aron/common/aron/time.aron.generated.h>
*
* armarx::arondto::Duration duration;
* duration.microSeconds = 1000;
*
* armarx::armem::wm::EntityInstance instance;
* instance.data() = duration.toAron();
*
* const armarx::armem::wm::EntityInstanceBase<armarx::arondto::Duration> cast =
* instance.withDataAs<armarx::arondto::Duration>();
*
* const armarx::arondto::Duration& durationOut = cast.data();
*
* assert(durationOut.microseconds == 1000);
* @endcode
*/
template <class AronDtoT>
using EntityInstanceBase = base::EntityInstanceBase<AronDtoT, EntityInstanceMetadata>;
/**
* @brief Client-side working memory entity snapshot.
* @see base::EntitySnapshotBase
......@@ -54,6 +80,7 @@ namespace armarx::armem::wm
class EntitySnapshot :
public base::EntitySnapshotBase<EntityInstance, EntitySnapshot>,
public detail::FindInstanceDataMixinForSnapshot<EntitySnapshot>
{
public:
using base::EntitySnapshotBase<EntityInstance, EntitySnapshot>::EntitySnapshotBase;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment