tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
decl.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2
3#ifndef TETL_TYPETRAITS_DECL_HPP
4#define TETL_TYPETRAITS_DECL_HPP
5
6namespace etl {
7// primary type categories:
8template <typename T>
9struct is_void;
10template <typename T>
11struct is_null_pointer;
12template <typename T>
13struct is_integral;
14template <typename T>
16template <typename T>
17struct is_array;
18template <typename T>
19struct is_pointer;
20template <typename T>
22template <typename T>
24template <typename T>
26template <typename T>
28template <typename T>
29struct is_enum;
30template <typename T>
31struct is_union;
32template <typename T>
34template <typename T>
35struct is_function;
36
37// composite type categories:
38template <typename T>
39struct is_reference;
40template <typename T>
41struct is_arithmetic;
42template <typename T>
43struct is_fundamental;
44template <typename T>
45struct is_object;
46template <typename T>
47struct is_scalar;
48template <typename T>
49struct is_compound;
50template <typename T>
52
53template <typename T>
54constexpr auto swap(T& a, T& b) noexcept -> void;
55
56} // namespace etl
57
58#endif // TETL_TYPETRAITS_DECL_HPP
Definition adjacent_find.hpp:8
auto swap(inplace_function< R(Args...), Capacity, Alignment > &lhs, inplace_function< R(Args...), Capacity, Alignment > &rhs) noexcept -> void
Overloads the etl::swap algorithm for etl::inplace_function. Exchanges the state of lhs with that of ...
Definition inplace_function.hpp:249
If T is an arithmetic type (that is, an integral type or a floating-point type) or a cv-qualified ver...
Definition is_arithmetic.hpp:18
Checks whether T is an array type. Provides the member constant value which is equal to true,...
Definition is_array.hpp:17
If T is a compound type (that is, array, function, object pointer, function pointer,...
Definition is_compound.hpp:16
Definition is_enum.hpp:13
Checks whether T is a floating-point type. Provides the member constant value which is equal to true,...
Definition is_floating_point.hpp:20
Definition is_function.hpp:20
If T is a fundamental type (that is, arithmetic type, void, or nullptr_t), provides the member consta...
Definition is_fundamental.hpp:17
Definition is_integral.hpp:51
Checks whether T is a lvalue reference type. Provides the member constant value which is equal to tru...
Definition is_lvalue_reference.hpp:14
Checks whether T is a non-static member function pointer. Provides the member constant value which is...
Definition is_member_function_pointer.hpp:37
Checks whether T is a non-static member object pointer. Provides the member constant value which is e...
Definition is_member_object_pointer.hpp:28
If T is pointer to non-static member object or a pointer to non-static member function,...
Definition is_member_pointer.hpp:37
Definition is_null_pointer.hpp:13
If T is an object type (that is any possibly cv-qualified type other than function,...
Definition is_object.hpp:32
Checks whether T is a pointer to object or a pointer to function (but not a pointer to member/member ...
Definition is_pointer.hpp:27
If T is a reference type (lvalue reference or rvalue reference), provides the member constant value e...
Definition is_reference.hpp:15
Checks whether T is a rvalue reference type. Provides the member constant value which is equal to tru...
Definition is_rvalue_reference.hpp:14
If T is a scalar type (that is a possibly cv-qualified arithmetic, pointer, pointer to member,...
Definition is_scalar.hpp:36
Definition decl.hpp:33
Definition is_union.hpp:13
Define a member typedef only if a boolean constant is true.
Definition is_void.hpp:13