openjij
Framework for the Ising model and QUBO.
|
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 |
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.
derived_class | |
head_base_class | |
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 |