3#include <SimoxUtility/algorithm/string/string_tools.h>
10 std::vector<aron::data::DictPtr>
13 std::vector<aron::data::DictPtr> result;
17 result.push_back(instance.
data());
28 up.referencedTime = snapshot.
time();
33 template <
class DataT>
35 makeLine(
int depth,
const DataT&
data, std::optional<size_t> size = std::nullopt)
47 ss << simox::alg::capitalize_words(DataT::getLevelName());
48 ss <<
" '" << simox::alg::capitalize_words(
data.getKeyString()) <<
"'";
51 ss <<
" (size " << size.value() <<
")";
57 template <
class DataT>
59 _print(
const DataT&
data,
int maxDepth,
int depth)
62 ss << makeLine(depth,
data,
data.size());
63 if (maxDepth < 0 || maxDepth > 0)
65 data.forEachChild([&ss, maxDepth, depth](
const auto& instance)
66 { ss <<
armem::print(instance, maxDepth - 1, depth + 1); });
74 return _print(
data, maxDepth, depth);
80 return _print(
data, maxDepth, depth);
86 return _print(
data, maxDepth, depth);
92 return _print(
data, maxDepth, depth);
98 return _print(
data, maxDepth, depth);
105 std::stringstream ss;
106 ss << makeLine(depth,
data);
MemoryID getEntityID() const
const DataT & data() const
bool forEachChild(ChildFunctionT &&func)
armem::wm::EntitySnapshot EntitySnapshot
armem::wm::EntityInstance EntityInstance
std::string print(const wm::Memory &data, int maxDepth=-1, int depth=0)
EntityUpdate toEntityUpdate(const wm::EntitySnapshot &snapshot)
std::vector< aron::data::DictPtr > getAronData(const wm::EntitySnapshot &snapshot)
This file offers overloads of toIce() and fromIce() functions for STL container types.
An update of an entity for a specific point in time.