sbin ~master (2021-09-16T14:18:39Z)
Dub
Repo
TaggedTypeByTag
sbin
type
Undocumented in source.
package
template
TaggedTypeByTag (
T
alias
tag
)
if
(
isTagged
!(
T
).
any
) {
alias
r
=
TypeOf
!
tag
;
static if
(!(
isTagged!(T).isTaggedAlgebraic
))
static if
(
isTagged!(T).isMirAlgebraic
)
ptrdiff_t
indexOf
(T.Kind[] lst, T.Kind kind);
alias
r
=
T
.
AllowedTypes
[
indexOf
(
getTaggedAllTags
!
T
,
tag
)]
;
alias
r
=
T
.
Types
[
tag
]
;
alias
TaggedTypeByTag
=
r
;
}
Members
Aliases
TaggedTypeByTag
alias
TaggedTypeByTag
=
r
Undocumented in source.
r
alias
r
=
T
.
AllowedTypes
[
indexOf
(
getTaggedAllTags
!
T
,
tag
)]
Undocumented in source.
r
alias
r
=
TypeOf
!
tag
Undocumented in source.
r
alias
r
=
T
.
Types
[
tag
]
Undocumented in source.
Functions
indexOf
ptrdiff_t
indexOf
(T.Kind[] lst, T.Kind kind)
Undocumented in source. Be warned that the author may not have intended to support it.
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