mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
* 'next_float' macro patch More optimized implementation. * tuple-type update * U suffix in 'next_float' * Do not add triplet, quadruplet, keep Tuple but deprecate. Add unpack --------- Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
38 lines
637 B
Plaintext
38 lines
637 B
Plaintext
module std::collections::pair{Type1, Type2};
|
|
|
|
struct Pair
|
|
{
|
|
Type1 first;
|
|
Type2 second;
|
|
}
|
|
|
|
<*
|
|
@param [&out] a
|
|
@param [&out] b
|
|
@require $assignable(self.first, $typeof(*a)) : "You cannot assign the first value to a"
|
|
@require $assignable(self.second, $typeof(*b)) : "You cannot assign the second value to b"
|
|
*>
|
|
|
|
macro void Pair.unpack(&self, a, b)
|
|
{
|
|
*a = self.first;
|
|
*b = self.second;
|
|
}
|
|
|
|
module std::collections::triple{Type1, Type2, Type3};
|
|
|
|
struct Triple
|
|
{
|
|
Type1 first;
|
|
Type2 second;
|
|
Type3 third;
|
|
}
|
|
|
|
module std::collections::tuple{Type1, Type2};
|
|
|
|
struct Tuple @deprecated("Use 'Pair' instead")
|
|
{
|
|
Type1 first;
|
|
Type2 second;
|
|
}
|