VCCC  2024.05
VisualCamp Common C++ library
are.hpp
Go to the documentation of this file.
1 # /*
2 # * Created by YongGyu Lee on 2020/12/08.
3 # */
4 #
5 # ifndef VCCC_TYPE_TRAITS_ARE_HPP
6 # define VCCC_TYPE_TRAITS_ARE_HPP
7 #
8 # include <type_traits>
9 #
11 
12 namespace vccc {
13 
24 
27 template<typename ...Ts>
28 struct are_arithmetic : conjunction<std::is_arithmetic<Ts>...> {};
29 
30 template<typename ...Ts>
31 using are_arithmetic_t = typename are_arithmetic<Ts...>::type;
32 
33 
36 template<typename ...Ts>
37 struct are_integral : conjunction<std::is_integral<Ts>...> {};
38 
39 template<typename ...Ts>
40 using are_integral_t = typename are_integral<Ts...>::type;
41 
42 
45 template<typename ...Ts>
46 struct are_floating_point : conjunction<std::is_floating_point<Ts>...> {};
47 
48 template<typename ...Ts>
49 using are_floating_point_t = typename are_floating_point<Ts...>::type;
50 
51 
54 template<typename ...Ts>
55 struct are_scalar : conjunction<std::is_scalar<Ts>...> {};
56 
57 template<typename ...Ts>
58 using are_scalar_t = typename are_scalar<Ts...>::type;
59 
61 
62 } // namespace vccc
63 
64 # endif // VCCC_TYPE_TRAITS_ARE_HPP
typename are_integral< Ts... >::type are_integral_t
Definition: are.hpp:40
typename are_arithmetic< Ts... >::type are_arithmetic_t
Definition: are.hpp:31
typename are_floating_point< Ts... >::type are_floating_point_t
Definition: are.hpp:49
typename are_scalar< Ts... >::type are_scalar_t
Definition: are.hpp:58
Definition: directory.h:12
Definition: are.hpp:28
Definition: are.hpp:46
Definition: are.hpp:37
Definition: are.hpp:55
Definition: conjunction.hpp:22