Mojo module
variadics
Implements the VariadicList and VariadicPack types.
These are Mojo built-ins, so you don't need to import them.
Aliases
Concatenated
comptime Concatenated[T: AnyTrait[AnyType], //, *Ts: Variadic[T]] = #kgen.variadic.concat<#kgen.param.decl.ref<"Ts"> : !kgen.variadic<variadic<:!lit.anytrait<<@stdlib::@builtin::@anytype::@AnyType>> T>>>
Represents the concatenation of multiple variadic sequences of types.
Parameters
- T (
AnyTrait): - *Ts (
Variadic):
EmptyVariadic
comptime EmptyVariadic[T: AnyTrait[AnyType]] =
Empty comptime variadic of type values
Parameters
- T (
AnyTrait):
MakeVariadic
comptime MakeVariadic[T: AnyTrait[AnyType], //, *Ts: T] = Ts
Turn discrete type values (bound by T) into a single variadic
Parameters
- T (
AnyTrait): - *Ts (
T):
Reversed
comptime Reversed[T: AnyTrait[Copyable & Movable], //, *element_types: T] = #kgen.variadic.reduce<#kgen.variadic<> : !kgen.variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>, #kgen.param.decl.ref<"element_types"> : !kgen.variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>, #kgen.gen<#kgen.variadic.concat<#kgen.variadic<*(0,0), [variadic_get(:variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T> *(0,1), add(mul(*(0,2), -1), #kgen.variadic.size<#kgen.param.index.ref<0, 1> : !kgen.variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>>, -1))]> : !kgen.variadic<variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>>>> : !kgen.generator<!lit.generator<<"PrevV": variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>, "VA": variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>, "idx": index>variadic<:!lit.anytrait<<@stdlib::@builtin::@value::@Copyable, @stdlib::@builtin::@value::@Movable>> T>>>>
A wrapper to reverse a variadic sequence of types.
Parameters
- T (
AnyTrait&Movable]): - *element_types (
T): The variadic sequence of types to reverse.
Variadic
comptime Variadic[type: AnyType] = Variadic[type]
Represents a raw variadic sequence of values of the specified type.
Parameters
- type (
AnyType):
VariadicOf
comptime VariadicOf[T: AnyTrait[AnyType]] = Variadic[T]
Represents a raw variadic sequence of types that satisfy the specified trait.
Parameters
- T (
AnyTrait):
Structs
-
VariadicList: A utility class to access homogeneous variadic function arguments. -
VariadicListMem: A utility class to access variadic function arguments of memory-only types that may have ownership. It exposes references to the elements in a way that can be enumerated. Each element may be accessed withelt[]. -
VariadicPack: A utility class to access heterogeneous variadic function arguments.
Functions
-
variadic_size: Returns the length of a variadic sequence.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!