File tree 2 files changed +20
-0
lines changed
iceoryx_posh/include/iceoryx_posh/internal/popo
2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,16 @@ namespace popo
35
35
template <typename Req, typename Res, typename BaseClientT = BaseClient<>>
36
36
class ClientImpl : public BaseClientT , public RpcInterface <Request<Req>>
37
37
{
38
+ static_assert (!std::is_void<Req>::value, " The type `Req` must not be void. Use the UntypedClient for void types." );
39
+ static_assert (!std::is_void<Res>::value, " The type `Res` must not be void. Use the UntypedClient for void types." );
40
+
41
+ static_assert (!std::is_const<Req>::value, " The type `Req` must not be const." );
42
+ static_assert (!std::is_const<Res>::value, " The type `Res` must not be const." );
43
+ static_assert (!std::is_reference<Req>::value, " The type `Req` must not be a reference." );
44
+ static_assert (!std::is_reference<Res>::value, " The type `Res` must not be a reference." );
45
+ static_assert (!std::is_pointer<Req>::value, " The type `Req` must not be a pointer." );
46
+ static_assert (!std::is_pointer<Res>::value, " The type `Res` must not be a pointer." );
47
+
38
48
public:
39
49
explicit ClientImpl (const capro::ServiceDescription& service, const ClientOptions& clientOptions = {}) noexcept ;
40
50
ClientImpl (const ClientImpl&) = delete ;
Original file line number Diff line number Diff line change @@ -35,6 +35,16 @@ namespace popo
35
35
template <typename Req, typename Res, typename BaseServerT = BaseServer<>>
36
36
class ServerImpl : public BaseServerT , public RpcInterface <Response<Res>>
37
37
{
38
+ static_assert (!std::is_void<Req>::value, " The type `Req` must not be void. Use the UntypedServer for void types." );
39
+ static_assert (!std::is_void<Res>::value, " The type `Res` must not be void. Use the UntypedServer for void types." );
40
+
41
+ static_assert (!std::is_const<Req>::value, " The type `Req` must not be const." );
42
+ static_assert (!std::is_const<Res>::value, " The type `Res` must not be const." );
43
+ static_assert (!std::is_reference<Req>::value, " The type `Req` must not be a reference." );
44
+ static_assert (!std::is_reference<Res>::value, " The type `Res` must not be a reference." );
45
+ static_assert (!std::is_pointer<Req>::value, " The type `Req` must not be a pointer." );
46
+ static_assert (!std::is_pointer<Res>::value, " The type `Res` must not be a pointer." );
47
+
38
48
public:
39
49
explicit ServerImpl (const capro::ServiceDescription& service, const ServerOptions& serverOptions = {}) noexcept ;
40
50
ServerImpl (const ServerImpl&) = delete ;
You can’t perform that action at this time.
0 commit comments