openjij
Framework for the Ising model and QUBO.
Loading...
Searching...
No Matches
openjij::utility::get_base_class< derived_class, head_base_class, tail_base_classes > Struct Template Reference

meta function for linear-searching base class of "derived_class" from the variadic template list (head_base_class ... tail_base_class). More...

#include <type_traits.hpp>

Public Types

using type = typename std::conditional< std::is_base_of< head_base_class, derived_class >::value, head_base_class, typename get_base_class< derived_class, tail_base_classes... >::type >::type
 

Detailed Description

template<typename derived_class, typename head_base_class, typename... tail_base_classes>
struct openjij::utility::get_base_class< derived_class, head_base_class, tail_base_classes >

meta function for linear-searching base class of "derived_class" from the variadic template list (head_base_class ... tail_base_class).

if no base class founds, returned type will be std::nullptr_t.

Template Parameters
derived_class
head_base_class
tail_base_classes

Member Typedef Documentation

◆ type

template<typename derived_class , typename head_base_class , typename... tail_base_classes>
using openjij::utility::get_base_class< derived_class, head_base_class, tail_base_classes >::type = typename std::conditional< std::is_base_of<head_base_class, derived_class>::value, head_base_class, typename get_base_class<derived_class, tail_base_classes...>::type>::type

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