schema-salad-d ~master (2021-11-30T07:56:22Z)
Home
Dub
Repo
RecordDispatchStatement
salad
meta
Undocumented in source.
template
RecordDispatchStatement (
RetType
RecordTypes
...
) {
import
std
.
format
:
format
;
;
static if
(
RecordTypes.length == 1
)
enum
RecordDispatchStatement
;
import
std
.
algorithm
:
joiner
;
;
import
std
.
array
:
array
;
;
import
std
.
meta
:
ApplyLeft
,
Filter
,
staticMap
,
templateNot
;
;
import
std
.
traits
:
FieldNameTuple
;
;
eponymoustemplate
ConstantMembersOf
(T)
;
static if
(!(
RecordTypes.length == 1
))
enum
RecordTypeName
;
eponymoustemplate
isDispatchable
(T)
;
alias
NonDispatchableRecords
=
Filter
!(
templateNot
!
isDispatchable
,
RecordTypes
)
;
static if
(!(
RecordTypes.length == 1
))
static if
(
NonDispatchableRecords.length == 0
)
enum
DefaultCaseStr
;
static if
(!(
RecordTypes.length == 1
))
static if
(!(
NonDispatchableRecords.length == 0
))
enum
DefaultCaseStr
;
eponymoustemplate
RecordCaseStr
(T)
;
static if
(!(
RecordTypes.length == 1
))
enum
RecordDispatchStatement
;
}
Members
Aliases
NonDispatchableRecords
alias
NonDispatchableRecords
=
Filter
!(
templateNot
!
isDispatchable
,
RecordTypes
)
Undocumented in source.
Enums
ConstantMembersOf
eponymoustemplate
ConstantMembersOf
(T)
Undocumented in source.
RecordCaseStr
eponymoustemplate
RecordCaseStr
(T)
Undocumented in source.
isDispatchable
eponymoustemplate
isDispatchable
(T)
Undocumented in source.
Manifest constants
DefaultCaseStr
enum
DefaultCaseStr
;
Undocumented in source.
DefaultCaseStr
enum
DefaultCaseStr
;
Undocumented in source.
RecordDispatchStatement
enum
RecordDispatchStatement
;
Undocumented in source.
RecordDispatchStatement
enum
RecordDispatchStatement
;
Undocumented in source.
RecordTypeName
enum
RecordTypeName
;
Undocumented in source.
Meta
Source
See Implementation
salad
meta
enums
hasIdentifier
isConstantMember
functions
ctorStr
stripLeftAll
mixin templates
genCtor
genIdentifier
genToString
structs
documentRoot
id
idMap
typeDSL
templates
ArrayDispatchStatement
Assign
Assign_
DispatchFun
DocumentRootType
EnumDispatchStatement
IdentifierType
RecordDispatchStatement