CVB++ 15.0
Loading...
Searching...
No Matches
type_traits.hpp
1#pragma once
2
7
8#include <type_traits>
9
10#include "../namespace.hpp"
11
12namespace Cvb
13{
14 CVB_BEGIN_INLINE_NS
15
17 namespace Shims
18 {
19 template <class T>
20 struct remove_cvref
21 {
22 using type = std::remove_cv_t<std::remove_reference_t<T>>;
23 };
24
25 template <class T>
26 using remove_cvref_t = typename remove_cvref<T>::type;
27
28 template <class...>
29 struct conjunction : std::true_type
30 {
31 };
32 template <class B1>
33 struct conjunction<B1> : B1
34 {
35 };
36 template <class B1, class... Bn>
37 struct conjunction<B1, Bn...> : std::conditional_t<bool(B1::value), conjunction<Bn...>, B1>
38 {
39 };
40 } // namespace Shims
41 CVB_END_INLINE_NS
42} // namespace Cvb
Namespace to for standard types that are not available in C++14.
Definition variant_helper.hpp:20
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17