1#ifndef ZYPPNG_META_TYPE_TRAITS_INCLUDED 
    2#define ZYPPNG_META_TYPE_TRAITS_INCLUDED 
    7#if !defined ( __cpp_lib_void_t ) 
   24template <
class Default, 
class AlwaysVoid,
 
   25  template<
class...> 
class Op, 
class... Args>
 
   31template <
class Default, 
template<
class...> 
class Op, 
class... Args>
 
 
   47template <
template<
class...> 
class Op, 
class... Args>
 
   50template <
template<
class...> 
class Op, 
class... Args>
 
   53template <
class Default, 
template<
class...> 
class Op, 
class... Args>
 
   56template< 
template<
class...> 
class Op, 
class... Args >
 
   59template< 
class Default, 
template<
class...> 
class Op, 
class... Args >
 
   62template <
class Expected, 
template<
class...> 
class Op, 
class... Args>
 
   65template <
class Expected, 
template<
class...> 
class Op, 
class... Args>
 
   68template <
class To, 
template<
class...> 
class Op, 
class... Args>
 
   71template <
class To, 
template<
class...> 
class Op, 
class... Args>
 
   75#if __cplusplus < 202002L 
   79  using type = std::remove_cv_t<std::remove_reference_t<T>>;
 
 
   87#if __cplusplus < 201703L 
   92template<
class B1, 
class... Bn>
 
   99template<
class B1, 
class... Bn>
 
  113  template < 
template< 
class ... > 
class Templ, class Type >
 
  116  template < 
template< 
typename ... > 
class Templ, typename... Args >
 
  119  template < 
template< 
class ... > 
class Templ, class Type >
 
  123  template< 
typename T>
 
  126  template< 
typename T>
 
  129  template< 
typename T>
 
  132  template< 
typename T>
 
  136  template <
typename ...T>
 
detail::detector< Default, void, Op, Args... > detected_or
typename detail::detector< detail::nonesuch, void, Op, Args... >::value_t is_detected
std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
typename detail::detector< detail::nonesuch, void, Op, Args... >::type detected_t
constexpr bool is_detected_exact_v
std::is_convertible< detected_t< Op, Args... >, To > is_detected_convertible
constexpr bool is_detected_convertible_v
integral_constant< bool, B > bool_constant
typename make_void< Ts... >::type void_t
typename conditional< B, T, F >::type conditional_t
constexpr bool is_detected_v
typename remove_cvref< T >::type remove_cvref_t
typename detected_or< Default, Op, Args... >::type detected_or_t
constexpr bool is_instance_of_v
typename remove_smart_ptr< T >::type remove_smart_ptr_t
nonesuch(nonesuch const &)=delete
void operator=(nonesuch const &)=delete
std::remove_cv_t< std::remove_reference_t< T > > type
std::remove_cv_t< T > type
std::remove_cv_t< T > type
std::remove_cv_t< T > type