My Project
is_fundamental.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_IS_FUNDAMENTAL_HPP
29 #define BSL_IS_FUNDAMENTAL_HPP
30 
31 #include "bool_constant.hpp"
32 #include "is_arithmetic.hpp"
33 #include "is_void.hpp"
34 #include "is_null_pointer.hpp"
35 
36 namespace bsl
37 {
38  namespace details
39  {
48  template<typename T>
49  [[nodiscard]] constexpr bool
51  {
53  return true;
54  }
55 
56  if (is_void<T>::value) {
57  return true;
58  }
59 
61  }
62  }
63 
75  template<typename T>
76  class is_fundamental final : public bool_constant<details::check_is_fundamental<T>()>
77  {};
78 }
79 
80 #endif
If the provided type is a fundamental type, provides the member constant value equal to true....
Definition: is_fundamental.hpp:76
If the provided type is a void type (taking into account const qualifications), provides the member c...
Definition: is_void.hpp:48
If the provided type is an abstract class type, provides the member constant value equal to true....
Definition: is_arithmetic.hpp:49
If the provided type is an array type (taking into account const qualifications), provides the member...
Definition: integral_constant.hpp:45
If the provided type is a nullptr type (taking into account const qualifications),...
Definition: is_null_pointer.hpp:48
constexpr bool check_is_fundamental() noexcept
Checks if the provided type "T" is a fundamental type and if so, returns true, otherwise returns fals...
Definition: is_fundamental.hpp:50