From 5832004dd97d96926ad01d1ed97bde29104bac9d Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Wed, 4 Aug 2021 18:22:54 +0200 Subject: [PATCH] Add forward_declarations headers for ARON navigators, use them (reduces compile time) --- .../RobotAPI/libraries/armem/core/Commit.cpp | 4 ++- source/RobotAPI/libraries/armem/core/Commit.h | 9 ++--- .../armem/core/base/EntitySnapshotBase.cpp | 10 ++++++ .../armem/core/base/EntitySnapshotBase.h | 4 +++ .../armem/core/diskmemory/EntityInstance.cpp | 12 ++++--- .../armem/core/diskmemory/EntityInstance.h | 3 +- .../armem/core/diskmemory/EntitySnapshot.h | 2 ++ .../libraries/armem/core/ice_conversions.cpp | 2 ++ .../armem/core/longtermmemory/CoreSegment.cpp | 6 ++-- .../armem/core/longtermmemory/CoreSegment.h | 4 +-- .../armem/core/longtermmemory/Entity.cpp | 2 ++ .../armem/core/longtermmemory/Entity.h | 4 +-- .../core/longtermmemory/EntityInstance.cpp | 3 +- .../core/longtermmemory/EntityInstance.h | 7 +--- .../core/longtermmemory/EntitySnapshot.h | 6 ++-- .../armem/core/longtermmemory/Memory.h | 8 ++--- .../core/longtermmemory/ProviderSegment.h | 4 +-- .../core/workingmemory/EntityInstance.cpp | 2 ++ .../core/workingmemory/ice_conversions.cpp | 2 ++ .../libraries/armem/server/segment/Segment.h | 6 ++-- .../armem/server/segment/SpecializedSegment.h | 16 ++++----- .../armem/test/ArMemMemoryIDTest.cpp | 4 +-- source/RobotAPI/libraries/armem/util/util.h | 6 +++- .../libraries/aron/core/CMakeLists.txt | 2 ++ .../navigator/data/forward_declarations.h | 22 ++++++++++++ .../aron/core/navigator/type/AllNavigators.h | 1 - .../navigator/type/forward_declarations.h | 34 +++++++++++++++++++ 27 files changed, 133 insertions(+), 52 deletions(-) create mode 100644 source/RobotAPI/libraries/aron/core/navigator/data/forward_declarations.h create mode 100644 source/RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h diff --git a/source/RobotAPI/libraries/armem/core/Commit.cpp b/source/RobotAPI/libraries/armem/core/Commit.cpp index fed7ed660..fed012450 100644 --- a/source/RobotAPI/libraries/armem/core/Commit.cpp +++ b/source/RobotAPI/libraries/armem/core/Commit.cpp @@ -1,9 +1,11 @@ #include "Commit.h" -#include <SimoxUtility/algorithm/apply.hpp> +#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> #include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <SimoxUtility/algorithm/apply.hpp> + namespace armarx::armem { diff --git a/source/RobotAPI/libraries/armem/core/Commit.h b/source/RobotAPI/libraries/armem/core/Commit.h index fc69a4b53..685886a7f 100644 --- a/source/RobotAPI/libraries/armem/core/Commit.h +++ b/source/RobotAPI/libraries/armem/core/Commit.h @@ -1,11 +1,12 @@ #pragma once -#include <vector> +#include <RobotAPI/libraries/armem/core/Time.h> +#include <RobotAPI/libraries/armem/core/MemoryID.h> -#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> +#include <RobotAPI/libraries/aron/core/navigator/data/forward_declarations.h> -#include "../core/MemoryID.h" -#include "../core/Time.h" +#include <memory> +#include <vector> namespace armarx::armem diff --git a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.cpp b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.cpp index 5f7899f50..72b4c4887 100644 --- a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.cpp +++ b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.cpp @@ -1 +1,11 @@ #include "EntitySnapshotBase.h" + +#include <ArmarXCore/core/exceptions/local/ExpressionException.h> + + +void armarx::armem::base::detail::throwIfNotEqual(const Time& ownTime, const Time& updateTime) +{ + ARMARX_CHECK_EQUAL(ownTime, updateTime) + << "Cannot update a snapshot to an update with another timestamp. \n" + << "Note: A snapshot's timestamp must not be changed after construction."; +} diff --git a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h index 1322802a3..00f996ca4 100644 --- a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h +++ b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h @@ -11,6 +11,10 @@ #include "detail/iteration_mixins.h" +namespace armarx::armem::base::detail +{ + void throwIfNotEqual(const Time& ownTime, const Time& updateTime); +} namespace armarx::armem::base { /** diff --git a/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp index f464fed5a..5fbfa91d5 100644 --- a/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp @@ -1,13 +1,17 @@ #include "EntityInstance.h" -#include <iostream> -#include <fstream> - #include "../../core/error.h" -#include "ArmarXCore/core/exceptions/LocalException.h" +#include "../workingmemory/json_conversions.h" +#include "../workingmemory/entityInstance_conversions.h" #include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <SimoxUtility/json/json.hpp> + +#include <iostream> +#include <fstream> + + namespace armarx::armem::d_ltm { diff --git a/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h index cdc841a56..54d3c4cb8 100644 --- a/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h @@ -5,8 +5,7 @@ #include "../base/EntityInstanceBase.h" #include "../workingmemory/EntityInstance.h" -#include "../workingmemory/entityInstance_conversions.h" -#include "../workingmemory/json_conversions.h" +#include <RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h> namespace armarx::armem::d_ltm diff --git a/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h b/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h index 545a8c0d6..be36a8a77 100644 --- a/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h @@ -7,6 +7,8 @@ #include "EntityInstance.h" +#include <RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h> + namespace armarx::armem::d_ltm { diff --git a/source/RobotAPI/libraries/armem/core/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/ice_conversions.cpp index d79acf1da..88ed8fd29 100644 --- a/source/RobotAPI/libraries/armem/core/ice_conversions.cpp +++ b/source/RobotAPI/libraries/armem/core/ice_conversions.cpp @@ -1,5 +1,7 @@ #include "ice_conversions.h" +#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> + namespace armarx { diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp index 6adea4d68..1fc021d65 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp @@ -1,8 +1,10 @@ #include "CoreSegment.h" +#include "error.h" + #include <ArmarXCore/core/exceptions/local/ExpressionException.h> -#include "error.h" +#include <SimoxUtility/json/json.hpp> namespace armarx::armem::ltm @@ -33,7 +35,7 @@ namespace armarx::armem::ltm nlohmann::json json = nlohmann::json::parse(bsoncxx::to_json(doc)); ARMARX_INFO << "CoreSegment: Found foreign key: " << json.at("foreign_key"); - MemoryID i((std::string) json.at("foreign_key")); + MemoryID i = MemoryID::fromString(json.at("foreign_key").get<std::string>()); if (i.coreSegmentName != id().coreSegmentName) { throw error::InvalidMemoryID(i, "A MemoryID in mongodb was invalid. Found the wrong coreSegment name. Expected " + id().coreSegmentName); diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h index 4c0a2c820..adb325791 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h @@ -1,9 +1,9 @@ #pragma once -#include "../base/CoreSegmentBase.h" - #include "ProviderSegment.h" +#include "mongodb/MongoDBConnectionManager.h" +#include "../base/CoreSegmentBase.h" #include "../workingmemory/CoreSegment.h" diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp index 99a8808c9..4e92467af 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp @@ -1,5 +1,7 @@ #include "Entity.h" +#include <SimoxUtility/json/json.hpp> + namespace armarx::armem::ltm { diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h index 4aef4251f..c17e10208 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h @@ -1,9 +1,9 @@ #pragma once -#include "../base/EntityBase.h" - #include "EntitySnapshot.h" +#include "mongodb/MongoDBConnectionManager.h" +#include "../base/EntityBase.h" #include "../workingmemory/Entity.h" diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp index 4f844d8fc..30297767a 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp @@ -1,9 +1,8 @@ #include "EntityInstance.h" -#include "../../core/error.h" - #include <ArmarXCore/core/exceptions/local/ExpressionException.h> + namespace armarx::armem::ltm { diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h index cc4e13580..81bd70fd3 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h @@ -1,12 +1,7 @@ #pragma once -#include "../base/EntityInstanceBase.h" +#include <RobotAPI/libraries/armem/core/base/EntityInstanceBase.h> -#include "../workingmemory/EntityInstance.h" -#include "mongodb/MongoDBConnectionManager.h" - -#include "../workingmemory/entityInstance_conversions.h" -#include "../workingmemory/json_conversions.h" namespace armarx::armem::ltm { diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h b/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h index fef528c3d..b55760247 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h @@ -1,11 +1,13 @@ #pragma once -#include "../base/EntitySnapshotBase.h" - #include "EntityInstance.h" +#include "mongodb/MongoDBConnectionManager.h" +#include "../base/EntitySnapshotBase.h" #include "../workingmemory/EntitySnapshot.h" +#include <RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h> + namespace armarx::armem::ltm { diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h b/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h index 73a9f0fc3..18b655ef5 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h @@ -1,15 +1,11 @@ #pragma once -// BaseClass -#include "../base/MemoryBase.h" - -// CoreSegment #include "CoreSegment.h" +#include "mongodb/MongoDBConnectionManager.h" -// WM +#include "../base/MemoryBase.h" #include "../workingmemory/Memory.h" -// Properties #include <ArmarXCore/core/application/properties/forward_declarations.h> diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h b/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h index 5aecdb21a..c18100e96 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h @@ -1,9 +1,9 @@ #pragma once -#include "../base/ProviderSegmentBase.h" - #include "Entity.h" +#include "mongodb/MongoDBConnectionManager.h" +#include "../base/ProviderSegmentBase.h" #include "../workingmemory/ProviderSegment.h" diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp index 0e3dd4ceb..9158bd7e3 100644 --- a/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp @@ -1,5 +1,7 @@ #include "EntityInstance.h" +#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> + #include <ArmarXCore/core/exceptions/local/ExpressionException.h> diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp index 71cdd52ea..4e429f170 100644 --- a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp @@ -1,5 +1,7 @@ #include "ice_conversions.h" +#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> + namespace armarx::armem { diff --git a/source/RobotAPI/libraries/armem/server/segment/Segment.h b/source/RobotAPI/libraries/armem/server/segment/Segment.h index e59b63fc3..52d12980e 100644 --- a/source/RobotAPI/libraries/armem/server/segment/Segment.h +++ b/source/RobotAPI/libraries/armem/server/segment/Segment.h @@ -8,11 +8,9 @@ #include <ArmarXCore/core/logging/Logging.h> #include <ArmarXCore/core/application/properties/forward_declarations.h> +#include <RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h> + -namespace armarx::aron::typenavigator -{ - using ObjectNavigatorPtr = std::shared_ptr<class ObjectNavigator>; -} namespace armarx::armem { namespace server diff --git a/source/RobotAPI/libraries/armem/server/segment/SpecializedSegment.h b/source/RobotAPI/libraries/armem/server/segment/SpecializedSegment.h index fd3a456c5..d6601c39b 100644 --- a/source/RobotAPI/libraries/armem/server/segment/SpecializedSegment.h +++ b/source/RobotAPI/libraries/armem/server/segment/SpecializedSegment.h @@ -6,11 +6,9 @@ #include <ArmarXCore/core/application/properties/forward_declarations.h> #include <ArmarXCore/core/logging/Logging.h> +#include <RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h> + -namespace armarx::aron::typenavigator -{ - using ObjectNavigatorPtr = std::shared_ptr<class ObjectNavigator>; -} namespace armarx::armem { namespace server @@ -31,15 +29,15 @@ namespace armarx::armem::server::segment * @brief Specialized management of a core segment. */ class SpecializedSegment : - public armarx::Logging + public armarx::Logging { public: SpecializedSegment( - server::MemoryToIceAdapter& iceMemory, - aron::typenavigator::ObjectNavigatorPtr aronType = nullptr, - const std::string& defaultCoreSegmentName = "", - int64_t defaultMaxHistorySize = -1); + server::MemoryToIceAdapter& iceMemory, + aron::typenavigator::ObjectNavigatorPtr aronType = nullptr, + const std::string& defaultCoreSegmentName = "", + int64_t defaultMaxHistorySize = -1); virtual ~SpecializedSegment(); diff --git a/source/RobotAPI/libraries/armem/test/ArMemMemoryIDTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemMemoryIDTest.cpp index aad3359b0..72f09fb22 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemMemoryIDTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemMemoryIDTest.cpp @@ -25,8 +25,8 @@ #define ARMARX_BOOST_TEST #include <RobotAPI/Test.h> -#include "../core/MemoryID.h" -#include "../core/error.h" +#include <RobotAPI/libraries/armem/core/MemoryID.h> +#include <RobotAPI/libraries/armem/core/error.h> #include <iostream> diff --git a/source/RobotAPI/libraries/armem/util/util.h b/source/RobotAPI/libraries/armem/util/util.h index 35fc1538b..b1e3e7f3d 100644 --- a/source/RobotAPI/libraries/armem/util/util.h +++ b/source/RobotAPI/libraries/armem/util/util.h @@ -24,12 +24,13 @@ #include <vector> #include <optional> -#include "ArmarXCore/core/logging/Logging.h" +#include <ArmarXCore/core/logging/Logging.h> #include <RobotAPI/libraries/armem/core/workingmemory/Entity.h> #include <RobotAPI/libraries/armem/core/workingmemory/EntityInstance.h> #include <RobotAPI/libraries/aron/core/codegenerator/codeWriter/cpp/AronCppClass.h> + namespace armarx::armem { @@ -52,10 +53,13 @@ namespace armarx::armem return std::nullopt; } +#if 0 + // item.data() is by definition a DictNavigator if (item.data()->getDescriptor() != aron::data::Descriptor::eDict) { return std::nullopt; } +#endif try { diff --git a/source/RobotAPI/libraries/aron/core/CMakeLists.txt b/source/RobotAPI/libraries/aron/core/CMakeLists.txt index 62548c297..c5282fb54 100644 --- a/source/RobotAPI/libraries/aron/core/CMakeLists.txt +++ b/source/RobotAPI/libraries/aron/core/CMakeLists.txt @@ -151,6 +151,7 @@ set(LIB_HEADERS navigator/data/primitive/Bool.h navigator/data/AllNavigators.h navigator/data/NavigatorFactory.h + navigator/data/forward_declarations.h navigator/type/Navigator.h navigator/type/detail/NavigatorBase.h @@ -181,6 +182,7 @@ set(LIB_HEADERS navigator/type/primitive/Time.h navigator/type/AllNavigators.h navigator/type/NavigatorFactory.h + navigator/type/forward_declarations.h navigator/visitors/DataVisitor.h navigator/visitors/TypedDataVisitor.h diff --git a/source/RobotAPI/libraries/aron/core/navigator/data/forward_declarations.h b/source/RobotAPI/libraries/aron/core/navigator/data/forward_declarations.h new file mode 100644 index 000000000..d76939c31 --- /dev/null +++ b/source/RobotAPI/libraries/aron/core/navigator/data/forward_declarations.h @@ -0,0 +1,22 @@ +#pragma once + +#include <memory> + + +namespace armarx::aron::datanavigator +{ + class Navigator; + using NavigatorPtr = std::shared_ptr<Navigator>; + + using DictNavigatorPtr = std::shared_ptr<class DictNavigator>; + using ListNavigatorPtr = std::shared_ptr<class ListNavigator>; + using NDArrayNavigatorPtr = std::shared_ptr<class NDArrayNavigator>; + + using IntNavigatorPtr = std::shared_ptr<class IntNavigator>; + using LongNavigatorPtr = std::shared_ptr<class LongNavigator>; + using FloatNavigatorPtr = std::shared_ptr<class FloatNavigator>; + using DoubleNavigatorPtr = std::shared_ptr<class DoubleNavigator>; + using StringNavigatorPtr = std::shared_ptr<class StringNavigator>; + using BoolNavigatorPtr = std::shared_ptr<class BoolNavigator>; + +} diff --git a/source/RobotAPI/libraries/aron/core/navigator/type/AllNavigators.h b/source/RobotAPI/libraries/aron/core/navigator/type/AllNavigators.h index 51ea5a762..82702de99 100644 --- a/source/RobotAPI/libraries/aron/core/navigator/type/AllNavigators.h +++ b/source/RobotAPI/libraries/aron/core/navigator/type/AllNavigators.h @@ -12,7 +12,6 @@ #include "ndarray/OpenCVMat.h" #include "ndarray/Orientation.h" #include "ndarray/PCLPointCloud.h" -#include "ndarray/PCLPointCloud.h" #include "ndarray/Pose.h" #include "ndarray/Position.h" #include "enum/IntEnum.h" diff --git a/source/RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h b/source/RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h new file mode 100644 index 000000000..af5d62e7c --- /dev/null +++ b/source/RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h @@ -0,0 +1,34 @@ +#pragma once + +#include <memory> + + +namespace armarx::aron::typenavigator +{ + using NavigatorPtr = std::shared_ptr<class Navigator>; + + using DictNavigatorPtr = std::shared_ptr<class DictNavigator>; + using ListNavigatorPtr = std::shared_ptr<class ListNavigator>; + using ObjectNavigatorPtr = std::shared_ptr<class ObjectNavigator>; + using PoseNavigatorPtr = std::shared_ptr<class PoseNavigator>; + using TupleNavigatorPtr = std::shared_ptr<class TupleNavigator>; + using NDArrayNavigatorPtr = std::shared_ptr<class NDArrayNavigator>; + using EigenMatrixNavigatorPtr = std::shared_ptr<class EigenMatrixNavigator>; + using EigenQuaternionNavigatorPtr = std::shared_ptr<class EigenQuaternionNavigator>; + using IVTCByteImageNavigatorPtr = std::shared_ptr<class IVTCByteImageNavigator>; + using OpenCVMatNavigatorPtr = std::shared_ptr<class OpenCVMatNavigator>; + using OrientationNavigatorPtr = std::shared_ptr<class OrientationNavigator>; + using PCLPointCloudNavigatorPtr = std::shared_ptr<class PCLPointCloudNavigator>; + using PositionNavigatorPtr = std::shared_ptr<class PositionNavigator>; + using IntEnumNavigatorPtr = std::shared_ptr<class IntEnumNavigator>; + + using IntNavigatorPtr = std::shared_ptr<class IntNavigator>; + using LongNavigatorPtr = std::shared_ptr<class LongNavigator>; + using FloatNavigatorPtr = std::shared_ptr<class FloatNavigator>; + using DoubleNavigatorPtr = std::shared_ptr<class DoubleNavigator>; + using StringNavigatorPtr = std::shared_ptr<class StringNavigator>; + using BoolNavigatorPtr = std::shared_ptr<class BoolNavigator>; + using TimeNavigatorPtr = std::shared_ptr<class TimeNavigator>; + +} + -- GitLab