From 8f134c88229b2e8b0f3351a39524fa2329869616 Mon Sep 17 00:00:00 2001 From: Ruixiang Du Date: Fri, 16 Jul 2021 17:57:04 +0800 Subject: [PATCH] added type check for parser in AgilexBase --- include/ugv_sdk/details/robot_base/agilex_base.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/include/ugv_sdk/details/robot_base/agilex_base.hpp b/include/ugv_sdk/details/robot_base/agilex_base.hpp index 42f3a70..7ebeab0 100644 --- a/include/ugv_sdk/details/robot_base/agilex_base.hpp +++ b/include/ugv_sdk/details/robot_base/agilex_base.hpp @@ -24,12 +24,21 @@ #include "ugv_sdk/details/async_port/async_can.hpp" #include "ugv_sdk/details/interface/robot_common_interface.hpp" +#include "ugv_sdk/details/interface/parser_interface.hpp" namespace westonrobot { template class AgilexBase : public RobotCommonInterface { public: - AgilexBase() = default; + AgilexBase() { + static_assert( + std::is_base_of, + ParserType>::value || + std::is_base_of, + ParserType>::value, + "Incompatible parser for the AgilexBase class, expecting one derived " + "from ParserInterface!"); + }; virtual ~AgilexBase() { DisconnectPort(); } // do not allow copy or assignment