Line data Source code
1 : #ifndef EABA488B_84AE_4A04_8CDD_C6E89938F008
2 : #define EABA488B_84AE_4A04_8CDD_C6E89938F008
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 RequireMoveIntf
15 : {
16 : public:
17 5157 : RequireMoveIntf()
18 : {
19 : static_assert(std::is_nothrow_move_constructible<ImplType>::value, "missing noexcept move ctor");
20 : static_assert(std::is_nothrow_move_assignable<ImplType>::value, "missing noexcept move assignment operator");
21 : }
22 : };
23 :
24 : } // namespace contract
25 : } // namespace base
26 : } // namespace tracking
27 :
28 :
29 : #endif // EABA488B_84AE_4A04_8CDD_C6E89938F008
|