sbin ~master (2021-09-16T14:18:39Z)
Dub
Repo
TaggedTagType
sbin
type
Undocumented in source.
package
template
TaggedTagType (
T
)
if
(
isTagged
!(
T
).
any
) {
alias
TaggedTagType
=
T
.
Kind
;
import
std
:
AliasSeq
,
Filter
;
;
package
static if
(!(
isTagged!(T).isTaggedAlgebraic || isTagged!(T).isMirAlgebraic
))
static if
(
isTagged!(T).isSumType
)
enum
bool
canHoldTag
(
X
)
;
alias
unsignedInts
=
AliasSeq
!(
ubyte
,
ushort
,
uint
,
ulong
)
;
alias
TaggedTagType
=
Filter
!(
canHoldTag
,
unsignedInts
)[
0
]
;
}
Members
Aliases
TaggedTagType
alias
TaggedTagType
=
T
.
Kind
Undocumented in source.
TaggedTagType
alias
TaggedTagType
=
Filter
!(
canHoldTag
,
unsignedInts
)[
0
]
Undocumented in source.
unsignedInts
alias
unsignedInts
=
AliasSeq
!(
ubyte
,
ushort
,
uint
,
ulong
)
Undocumented in source.
Variables
canHoldTag
enum
bool
canHoldTag
(
X
)
;
Undocumented in source.
Meta
Source
See Implementation
sbin
type
aliases
pack
sumtype
enums
sbinSkip
functions
getEnumNum
getTaggedAllTags
getTaggedTag
unpack
structs
vlint
vluint
templates
EnumNumType
TaggedTagType
TaggedTypeByTag
hasCustomRepr
isTagged
isVoidArray
taggedMatch