Line data Source code
1 : #ifndef AD362419_8F56_4A82_AA4D_A026AEBAA86E
2 : #define AD362419_8F56_4A82_AA4D_A026AEBAA86E
3 :
4 : #include <type_traits>
5 :
6 : namespace tracking
7 : {
8 : namespace base
9 : {
10 : namespace contract
11 : {
12 :
13 : template <typename ImplType>
14 : class RequireCopyIntf
15 : {
16 : public:
17 5157 : RequireCopyIntf()
18 : {
19 : static_assert(std::is_copy_constructible<ImplType>::value, "missing copy ctor");
20 : static_assert(std::is_copy_assignable<ImplType>::value, "missing copy assignment operator");
21 : }
22 : };
23 :
24 : } // namespace contract
25 : } // namespace base
26 : } // namespace tracking
27 :
28 : #endif // AD362419_8F56_4A82_AA4D_A026AEBAA86E
|