nkr
A C++20 library with a custom meta-programming language.
nkr::constant_ttg<... >::identity_lb Class Reference

A label label that identifies its outer template and instantiated outer type as a member of an identity. More...

Detailed Description

template<typename ...>
class nkr::constant_ttg<... >::identity_lb

A label label that identifies its outer template and instantiated outer type as a member of an identity.

Examples:

TEST_CASE("should allow its outer template to satisfy the appropriate generic template tag")
{
static_assert(nkr::generic::tag::identity_ttr<nkr::constant_ttg>);
}
TEST_CASE("should allow its instantiated outer type to satisfy the appropriate generic type tag")
{
static_assert(nkr::generic::tag::identity_tr<nkr::constant_ttg<>>);
static_assert(nkr::generic::tag::identity_tr<const nkr::constant_ttg<>>);
static_assert(nkr::generic::tag::identity_tr<volatile nkr::constant_ttg<>>);
static_assert(nkr::generic::tag::identity_tr<const volatile nkr::constant_ttg<>>);
}