std::meta::is_base
From cppreference.com
| Defined in header <meta>
|
||
consteval bool is_base( std::meta::info r );
|
(since C++26) | |
Returns true if r represents a direct base class relationship. Otherwise returns false.
Parameters
| r | - | a reflection value |
Return value
true if r represents a direct base class relationship; otherwise false.
Example
Run this code
#include <algorithm>
#include <meta>
class A {};
class B {};
class C {};
class D : public A, protected B, private C {};
static_assert
(
std::ranges::all_of
(
std::meta::bases_of(^^D, std::meta::access_context::unchecked()),
[](auto r) { return std::meta::is_base(r); }
)
);
int main() {}
See also
(C++26) |
obtains the accessible direct bases of the reflected class (function) |
(C++26) |
checks if reflection represents a class member (function) |
(C++26) |
obtains the accessible direct members of the reflected class or namespace (function) |