HepMC3 event record library
Public Types | Static Public Attributes
exactly_one< Predicate, Default, Ts > Struct Template Reference

#include <common.h>

Public Types

using type = conditional_t< found, typename pack_element< index, Ts...>::type, Default >
 

Static Public Attributes

static constexpr auto found = constexpr_sum(Predicate<Ts>::value...)
 
static constexpr auto index = found ? constexpr_first<Predicate, Ts...>() : 0
 

Detailed Description

template<template< typename > class Predicate, typename Default, typename... Ts>
struct exactly_one< Predicate, Default, Ts >

Return the one and only type which matches the predicate, or Default if none match. If more than one type matches the predicate, fail at compile-time.

Definition at line 603 of file detail/common.h.


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