openMSX
Classes | Namespaces | Typedefs
semiregular.hh File Reference
#include "optional.hh"
#include <cstddef>
#include <string>
#include <type_traits>
#include <utility>
Include dependency graph for semiregular.hh:
This graph shows which files directly or indirectly include this file:

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

 sreg_impl
 

Typedefs

template<typename T >
using sreg_impl::semiregular_move_layer = std::conditional_t< std::is_move_assignable< T >::value, optional< T >, semiregular_move_assign< T > >
 
template<typename T >
using sreg_impl::semiregular_copy_layer = std::conditional_t< std::is_copy_assignable< T >::value, optional< T >, semiregular_copy_assign< T > >
 
template<typename T >
using semiregular_t = std::conditional_t< std::is_default_constructible< T >::value &&std::is_copy_assignable< T >::value, T, sreg_impl::semiregular< T > >
 

Typedef Documentation

◆ semiregular_t

template<typename T >
using semiregular_t = std::conditional_t<std::is_default_constructible<T>::value && std::is_copy_assignable<T>::value, T, sreg_impl::semiregular<T> >

Definition at line 179 of file semiregular.hh.