Lodestar
An integrated real-time control package in C++
BlockUtilities.hpp
1 //
2 // Created by Hamza El-Kebir on 12/23/21.
3 //
4 
5 #ifndef LODESTAR_BLOCKUTILITIES_HPP
6 #define LODESTAR_BLOCKUTILITIES_HPP
7 
8 #include "Signal.hpp"
9 
10 template <typename TObject>
11 static bool connect(ls::blocks::Signal<TObject> * a, ls::blocks::Signal<TObject> * b)
12 {
13  return a->connect(b);
14 }
15 
16 template <typename TObject, typename TObject2>
18 {
19  static_assert(::std::is_same<TObject, TObject2>::value, "Signal types do not match.");
20  return false;
21 }
22 
23 template <typename TObject>
24 static bool connect(ls::blocks::Signal<TObject> & a, ls::blocks::Signal<TObject> & b)
25 {
26  return a.connect(b);
27 }
28 
29 template <typename TObject, typename TObject2>
31 {
32  static_assert(::std::is_same<TObject, TObject2>::value, "Signal types do not match.");
33  return false;
34 }
35 
36 #endif //LODESTAR_BLOCKUTILITIES_HPP
ls::blocks::Signal
Definition: Signal.hpp:22