26#ifndef GUL17_TRAITS_H_
27#define GUL17_TRAITS_H_
57template <
typename T,
typename =
int>
63 decltype(std::declval<T>().cbegin(),
64 std::declval<T>().cend(),
65 std::declval<typename T::value_type>(),
80using remove_cvref =
typename std::remove_cv<std::remove_reference_t<T>>;
auto constexpr bit_set(unsigned bit) noexcept -> ReturnT
Set a bit in an integral type.
Definition bit_manip.h:124
typename std::remove_cv< std::remove_reference_t< T > > remove_cvref
A template metafunction that removes const, volatile, and reference qualifiers from a type.
Definition traits.h:80
typename remove_cvref< T >::type remove_cvref_t
A template metafunction that removes const, volatile, and reference qualifiers from a type.
Definition traits.h:92
Definition of macros used internally by GUL.
Namespace gul17 contains all functions and classes of the General Utility Library.
Definition doxygen.h:29
Helper type trait object to determine if a type is a container.
Definition traits.h:58