strongdef: pretend to be an enum for introspection purposes
This commit is contained in:
parent
458654c9a3
commit
67c682d5a2
@ -25,6 +25,10 @@ namespace cruft::strongdef {
|
||||
using value_type = T;
|
||||
using tag_type = TagT;
|
||||
|
||||
/// We detect underlying_type in a few situations where we emulate
|
||||
/// 'enum-like' structures. This lets us opt in to this behaviour.
|
||||
using underlying_type = T;
|
||||
|
||||
// TODO: ideally we'd default the constructor, but templated
|
||||
// constructors can't be defaulted? So we just stub one out.
|
||||
constexpr explicit index () { ; }
|
||||
@ -144,9 +148,8 @@ namespace cruft::types {
|
||||
template <typename TagT, typename ValueT>
|
||||
struct category_traits<
|
||||
::cruft::strongdef::index<TagT,ValueT>
|
||||
> :
|
||||
public category_traits<ValueT>
|
||||
{};
|
||||
> : public std::integral_constant<category,category::ENUM>
|
||||
{ ; };
|
||||
|
||||
|
||||
template <typename TagT, typename ValueT>
|
||||
|
Loading…
Reference in New Issue
Block a user