openMSX
|
#include <cstddef>
#include <optional>
#include <string>
#include <type_traits>
#include <utility>
Go to the source code of this file.
Classes | |
struct | sreg_impl::semiregular_move_assign< T > |
struct | sreg_impl::semiregular_copy_assign< T > |
struct | sreg_impl::semiregular< T > |
struct | sreg_impl::semiregular< T & > |
struct | sreg_impl::semiregular< T && > |
Namespaces | |
namespace | sreg_impl |
Typedefs | |
template<typename T > | |
using | sreg_impl::semiregular_move_layer = std::conditional_t< std::is_move_assignable_v< T >, std::optional< T >, semiregular_move_assign< T > > |
template<typename T > | |
using | sreg_impl::semiregular_copy_layer = std::conditional_t< std::is_copy_assignable_v< T >, std::optional< T >, semiregular_copy_assign< T > > |
template<typename T > | |
using | semiregular_t = std::conditional_t< std::is_default_constructible_v< T > &&std::is_copy_assignable_v< T >, T, sreg_impl::semiregular< T > > |
using semiregular_t = std::conditional_t<std::is_default_constructible_v<T> && std::is_copy_assignable_v<T>, T, sreg_impl::semiregular<T> > |
Definition at line 175 of file semiregular.hh.