AsmGrader 0.0.0
Loading...
Searching...
No Matches
asmgrader::metadata::detail::meta Namespace Reference

Classes

struct  MergeUnqImpl
 
struct  MergeUnqImpl< Orig >
 
struct  MergeUnqImpl< Orig, First, New... >
 

Typedefs

template<typename T >
using NormalizedT = std::decay_t<T>
 
template<template< typename... > class TypeList, typename... Ts>
using NormalizedTypeList = mp_rename<mp_transform<std::decay_t, mp_list<Ts...>>, TypeList>
 
using MetadataAttrTs = mp_list<Assignment, ProfOnlyTag, Weight>
 
template<typename T >
using TypeOrMonostate = std::conditional_t<std::same_as<NormalizedT<T>, void>, std::monostate, T>
 
template<std::size_t I, typename... Ts>
using Get = mp_at<mp_list<Ts...>, mp_int<I>>
 
template<typename Orig , typename... New>
using MergeUnq = MergeUnqImpl<Orig, New...>::type
 

Functions

template<typename T >
consteval bool is_normalized ()
 

Typedef Documentation

◆ Get

template<std::size_t I, typename... Ts>
using asmgrader::metadata::detail::meta::Get = mp_at<mp_list<Ts...>, mp_int<I>>

◆ MergeUnq

template<typename Orig , typename... New>
using asmgrader::metadata::detail::meta::MergeUnq = MergeUnqImpl<Orig, New...>::type

◆ MetadataAttrTs

◆ NormalizedT

template<typename T >
using asmgrader::metadata::detail::meta::NormalizedT = std::decay_t<T>

◆ NormalizedTypeList

template<template< typename... > class TypeList, typename... Ts>
using asmgrader::metadata::detail::meta::NormalizedTypeList = mp_rename<mp_transform<std::decay_t, mp_list<Ts...>>, TypeList>

◆ TypeOrMonostate

template<typename T >
using asmgrader::metadata::detail::meta::TypeOrMonostate = std::conditional_t<std::same_as<NormalizedT<T>, void>, std::monostate, T>

Function Documentation

◆ is_normalized()

template<typename T >
bool asmgrader::metadata::detail::meta::is_normalized ( )
consteval