libwasm ~master (2024-01-10T15:05:21Z)
Dub
Repo
isFunctionOver
optional
bolts
Undocumented in source.
template
isFunctionOver (
T
...
) {
alias
Alias
(
T
)
=
T
via
import
std
.
meta
:
Alias
;
;
enum
bool
isSomeFunction
(
alias
T
)
; via
import
std
.
traits
:
isSomeFunction
,
Parameters
;
;
template
Parameters
(alias func)
via
import
std
.
traits
:
isSomeFunction
,
Parameters
;
;
alias
Types
=
TypesOf
!
T
;
alias
DesiredParams
=
AliasPack
!(
Types
[
1
..$])
;
alias
ExpectedParams
=
AliasPack
!(
Parameters
!(
Types
[
0
]))
;
static if
(
Types.length >= 1
)
static if
(
isSomeFunction!(Types[0])
)
static if
(
DesiredParams.length == ExpectedParams.length
)
static if
(
DesiredParams.length == 0
)
enum
isFunctionOver
;
alias
Pairs
=
staticZip
!(
ExpectedParams
,
DesiredParams
)
;
eponymoustemplate
AreSame
(alias Pair)
;
static if
(
Types.length >= 1
)
static if
(
isSomeFunction!(Types[0])
)
static if
(
DesiredParams.length == ExpectedParams.length
)
static if
(!(
DesiredParams.length == 0
))
enum
isFunctionOver
;
static if
(
Types.length >= 1
)
static if
(
isSomeFunction!(Types[0])
)
static if
(!(
DesiredParams.length == ExpectedParams.length
))
enum
isFunctionOver
;
alias
F
=
T
[
0
]
;
alias
Val
(
T
)
=
Alias
!(
T
.
init
)
;
static if
(
Types.length >= 1
)
static if
(!(
isSomeFunction!(Types[0])
))
static if
(
is(Types[0] == void)
)
enum
isFunctionOver
;
static if
(
Types.length >= 1
)
static if
(!(
isSomeFunction!(Types[0])
))
static if
(!(
is(Types[0] == void)
))
enum
isFunctionOver
;
static if
(!(
Types.length >= 1
))
enum
isFunctionOver
;
}
Members
Aliases
DesiredParams
alias
DesiredParams
=
AliasPack
!(
Types
[
1
..$])
Undocumented in source.
ExpectedParams
alias
ExpectedParams
=
AliasPack
!(
Parameters
!(
Types
[
0
]))
Undocumented in source.
F
alias
F
=
T
[
0
]
Undocumented in source.
Pairs
alias
Pairs
=
staticZip
!(
ExpectedParams
,
DesiredParams
)
Undocumented in source.
Types
alias
Types
=
TypesOf
!
T
Undocumented in source.
Val
alias
Val
(
T
)
=
Alias
!(
T
.
init
)
Undocumented in source.
Enums
AreSame
eponymoustemplate
AreSame
(alias Pair)
Undocumented in source.
Manifest constants
isFunctionOver
enum
isFunctionOver
;
Undocumented in source.
isFunctionOver
enum
isFunctionOver
;
Undocumented in source.
isFunctionOver
enum
isFunctionOver
;
Undocumented in source.
isFunctionOver
enum
isFunctionOver
;
Undocumented in source.
isFunctionOver
enum
isFunctionOver
;
Undocumented in source.
isFunctionOver
enum
isFunctionOver
;
Undocumented in source.
Meta
Source
See Implementation
optional
bolts
aliases
AliasSeq
allSatisfy
templates
AliasPack
TypesOf
isFunctionOver
isSame
staticMap
staticZip