WPILibC++ 2023.4.3-108-ge5452e3
type_traits.h File Reference
#include "wpi/Compiler.h"
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  wpi::is_integral_or_enum< T >
 Metafunction that determines whether the given type is either an integral type or an enumeration type, including enum classes. More...
 
struct  wpi::add_lvalue_reference_if_not_pointer< T, Enable >
 If T is a pointer, just return it. If it is not, return T&. More...
 
struct  wpi::add_lvalue_reference_if_not_pointer< T, std::enable_if_t< std::is_pointer< T >::value > >
 
struct  wpi::add_const_past_pointer< T, Enable >
 If T is a pointer to X, return a pointer to const X. More...
 
struct  wpi::add_const_past_pointer< T, std::enable_if_t< std::is_pointer< T >::value > >
 
struct  wpi::const_pointer_or_const_ref< T, Enable >
 
struct  wpi::const_pointer_or_const_ref< T, std::enable_if_t< std::is_pointer< T >::value > >
 
union  wpi::detail::copy_construction_triviality_helper< T >
 Internal utility to detect trivial copy construction. More...
 
union  wpi::detail::move_construction_triviality_helper< T >
 Internal utility to detect trivial move construction. More...
 
union  wpi::detail::trivial_helper< T >
 

Namespaces

namespace  wpi
 
namespace  wpi::detail
 detail namespace with internal helper functions
 

Typedefs

template<typename T >
using wpi::is_trivially_move_constructible = std::is_trivially_move_constructible< T >
 
template<typename T >
using wpi::is_trivially_copy_constructible = std::is_trivially_copy_constructible< T >