4 #include "Acts/Utilities/HashedString.hpp"
11 bool build (
const std::type_info* typeInfo,
const std::string&
name, std::vector<Decoration>& decorations){
12 if (*typeInfo ==
typeid(T)) {
13 decorations.emplace_back(
14 decoration<T>(
name, ActsTrk::detail::constDecorationGetter<T>,
15 ActsTrk::detail::decorationCopier<T>));
23 const std::set<std::string>& staticVariables) {
24 std::vector<Decoration> decorations;
27 const std::type_info* typeInfo =
29 if (staticVariables.count(
name) == 1) {
36 if ( build<float>(typeInfo,
name, decorations) ||
37 build<double>(typeInfo,
name, decorations) ||
38 build<short>(typeInfo,
name, decorations) ||
39 build<int>(typeInfo,
name, decorations) ||
40 build<uint8_t>(typeInfo,
name, decorations) ||
41 build<uint16_t>(typeInfo,
name, decorations) ||
42 build<uint32_t>(typeInfo,
name, decorations) ||
43 build<uint64_t>(typeInfo,
name, decorations) ||
44 build<int8_t>(typeInfo,
name, decorations) ||
45 build<int16_t>(typeInfo,
name, decorations) ||
46 build<int32_t>(typeInfo,
name, decorations) ||
47 build<int64_t>(typeInfo,
name, decorations)
51 throw std::runtime_error(
"Can't restore decoration of " +
name +
52 " because it is of an unsupported type");