AsmGrader 0.0.0
Loading...
Searching...
No Matches
asmgrader::metadata::Metadata< MetadataTypes > Class Template Reference

#include <metadata.hpp>

Public Member Functions

template<typename... Args>
requires (sizeof...(Args) != 1 || !(std::same_as<detail::meta::NormalizedT<detail::meta::Get<0, Args...>>, Metadata<MetadataTypes...>>))
consteval Metadata (Args &&... args)
 
template<typename OtherMetadataType >
consteval auto operator| (OtherMetadataType &&attr) const
 
template<typename... OtherMetadataTypes>
consteval auto operator| (Metadata< OtherMetadataTypes... > other) const
 
template<typename MetadataType >
constexpr std::optional< MetadataType > get () const
 
template<typename MetadataType , typename Func >
constexpr std::optional< detail::meta::TypeOrMonostate< std::invoke_result_t< Func, MetadataType > > > get_and (Func &&func) const
 

Static Public Member Functions

template<typename T >
static consteval bool has ()
 

Friends

template<typename... Ts>
class Metadata
 
template<typename... Args>
consteval auto create (Args &&... args)
 

Constructor & Destructor Documentation

◆ Metadata()

template<typename... MetadataTypes>
requires (sizeof...(Args) != 1 || !(std::same_as<detail::meta::NormalizedT<detail::meta::Get<0, Args...>>, Metadata<MetadataTypes...>>))
template<typename... Args>
requires (sizeof...(Args) != 1 || !(std::same_as<detail::meta::NormalizedT<detail::meta::Get<0, Args...>>, Metadata<MetadataTypes...>>))
asmgrader::metadata::Metadata< MetadataTypes >::Metadata ( Args &&... args)
explicitconsteval

Member Function Documentation

◆ get()

template<typename... MetadataTypes>
template<typename MetadataType >
std::optional< MetadataType > asmgrader::metadata::Metadata< MetadataTypes >::get ( ) const
constexpr

◆ get_and()

template<typename... MetadataTypes>
template<typename MetadataType , typename Func >
std::optional< detail::meta::TypeOrMonostate< std::invoke_result_t< Func, MetadataType > > > asmgrader::metadata::Metadata< MetadataTypes >::get_and ( Func && func) const
constexpr

◆ has()

template<typename... MetadataTypes>
template<typename T >
bool asmgrader::metadata::Metadata< MetadataTypes >::has ( )
staticconsteval

◆ operator|() [1/2]

template<typename... MetadataTypes>
template<typename... OtherMetadataTypes>
auto asmgrader::metadata::Metadata< MetadataTypes >::operator| ( Metadata< OtherMetadataTypes... > other) const
consteval

◆ operator|() [2/2]

template<typename... MetadataTypes>
template<typename OtherMetadataType >
auto asmgrader::metadata::Metadata< MetadataTypes >::operator| ( OtherMetadataType && attr) const
consteval

Friends And Related Symbol Documentation

◆ create

template<typename... MetadataTypes>
template<typename... Args>
auto create ( Args &&... args)
friend

◆ Metadata

template<typename... MetadataTypes>
template<typename... Ts>
friend class Metadata
friend

The documentation for this class was generated from the following file: