alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
IsStrictBase.hpp
Go to the documentation of this file.
1/* Copyright 2022 Benjamin Worpitz, Bernhard Manfred Gruber
2 * SPDX-License-Identifier: MPL-2.0
3 */
4
5#pragma once
6
7#include <type_traits>
8
9namespace alpaka::meta
10{
11 //! The trait is true if TDerived is derived from TBase but is not TBase itself.
12 template<typename TBase, typename TDerived>
13 using IsStrictBase = std::
14 integral_constant<bool, std::is_base_of_v<TBase, TDerived> && !std::is_same_v<TBase, std::decay_t<TDerived>>>;
15} // namespace alpaka::meta
std::integral_constant< bool, std::is_base_of_v< TBase, TDerived > &&!std::is_same_v< TBase, std::decay_t< TDerived > > > IsStrictBase
The trait is true if TDerived is derived from TBase but is not TBase itself.