Molybden API
Loading...
Searching...
No Matches
is_base_and_derived.hpp
1
// Copyright (c) 2000-2023 TeamDev Ltd. All rights reserved.
2
// TeamDev PROPRIETARY and CONFIDENTIAL.
3
// Use is subject to license terms.
4
5
#ifndef MOLYBDEN_IS_BASE_AND_DERIVED_HPP
6
#define MOLYBDEN_IS_BASE_AND_DERIVED_HPP
7
8
#include "molybden/base/internal/nullptr.hpp"
9
10
namespace
molybden {
11
namespace
internal {
12
19
template
<
class
B,
class
D>
20
class
IsBaseAndDerived {
21
public
:
25
static
constexpr
bool
Value() {
return
IsPtrToBase(Nullptr<D>()); }
26
27
private
:
28
static
constexpr
bool
IsPtrToBase(B*) {
return
true
; }
29
30
static
constexpr
bool
IsPtrToBase(
void
*) {
return
false
; }
31
};
32
33
}
// namespace internal
34
}
// namespace molybden
35
36
#endif
// MOLYBDEN_IS_BASE_AND_DERIVED_HPP
include
molybden
base
internal
is_base_and_derived.hpp