stdtype_traits.hpp
1 #pragma once
2 
9 #include "stdver.hpp"
10 
11 #if CVB_HAS_CPP2020
12 
13 # include <type_traits>
14 
15 namespace Cvb
16 {
17  template <class T>
18  using remove_cvref = std::remove_cvref<T>;
19  template <class T>
20  using remove_cvref_t = std::remove_cvref_t<T>;
21 } // namespace Cvb
22 
23 #else
24 
25 # include "type_traits.hpp"
26 
27 namespace Cvb
28 {
29  template <class T>
30  using remove_cvref = Shims::remove_cvref<T>;
31  template <class T>
32  using remove_cvref_t = Shims::remove_cvref_t<T>;
33 } // namespace Cvb
34 #endif
35 
36 #if CVB_HAS_CPP2017
37 
38 # include <type_traits>
39 
40 namespace Cvb
41 {
42  template <class... Bn>
43  using conjunction = std::conjunction<Bn...>;
44 } // namespace Cvb
45 
46 #else
47 
48 # include "type_traits.hpp"
49 
50 namespace Cvb
51 {
52  template <class... Bn>
53  using conjunction = Shims::conjunction<Bn...>;
54 } // namespace Cvb
55 
56 #endif
Root namespace for the Image Manager interface.
Definition: version.hpp:11