maomao90's Library
A C++20 library for competitive programming.
Loading...
Searching...
No Matches
type_traits.hpp File Reference
#include <limits>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  maomao90::internal::type_traits::is_pair< typename >
 
struct  maomao90::internal::type_traits::is_pair< pair< T, U > >
 

Namespaces

namespace  maomao90
 
namespace  maomao90::internal
 
namespace  maomao90::internal::type_traits
 

Macros

#define ENABLE_VALUE(x)
 
#define ENABLE_TYPE(x)
 

Typedefs

template<typename T>
using maomao90::internal::type_traits::is_broadly_signed = disjunction<is_signed<T>, is_same<T, __int128>>
 
template<typename T>
using maomao90::internal::type_traits::is_broadly_unsigned
 
template<typename T>
using maomao90::internal::type_traits::is_broadly_integral
 
template<typename T>
using maomao90::internal::type_traits::is_broadly_signed_integral
 
template<typename T>
using maomao90::internal::type_traits::is_broadly_unsigned_integral
 
template<typename T>
using maomao90::internal::type_traits::is_32bit_or_less
 
template<typename T>
using maomao90::internal::type_traits::is_64bit_or_less
 
template<typename T>
using maomao90::internal::type_traits::safely_multipliable_unsigned
 
template<typename T>
using maomao90::internal::type_traits::safely_multipliable_signed
 
template<typename T>
using maomao90::internal::type_traits::safely_multipliable
 

Functions

 maomao90::internal::type_traits::ENABLE_VALUE (is_broadly_signed)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_broadly_unsigned)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_broadly_integral)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_broadly_signed_integral)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_broadly_unsigned_integral)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_32bit_or_less)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_64bit_or_less)
 
 maomao90::internal::type_traits::ENABLE_TYPE (safely_multipliable_unsigned)
 
 maomao90::internal::type_traits::ENABLE_TYPE (safely_multipliable_signed)
 
 maomao90::internal::type_traits::ENABLE_TYPE (safely_multipliable)
 
 maomao90::internal::type_traits::ENABLE_VALUE (is_pair)
 

Macro Definition Documentation

◆ ENABLE_VALUE

#define ENABLE_VALUE ( x)
Value:
template <typename T> constexpr bool x##_v = x<T>::value

◆ ENABLE_TYPE

#define ENABLE_TYPE ( x)
Value:
template <typename T> using x##_t = typename x<T>::type