KUMI v5.0.0
Gorgeous Garnet
Loading...
Searching...
No Matches

◆ if_

template<template< class > typename Traits>
traits_check<Traits> kumi::if_ = {}
inlineconstexpr

Option restricting an identifier to accept values whose type satisfies the trait Traits.

Template Parameters
TraitsTraits that the parametrized identifier will use to validate its value.
#include <kumi/kumi.hpp>
#include <iostream>
using namespace kumi::literals;
template<typename T>
struct is_big : std::bool_constant<(sizeof(T) > 2)> {};
inline constexpr auto large_value = kumi::identifier("large"_id, kumi::if_<is_big>);
int main()
{
std::cout << kumi::record{ large_value = 9.6 } << "\n";
}
constexpr traits_check< Traits > if_
Option restricting an identifier to accept values whose type satisfies the trait Traits.
Definition identifier.hpp:42
identifier definition class
Definition identifier.hpp:86
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36