diff options
Diffstat (limited to 'src/library/scala/Product4.scala')
-rw-r--r-- | src/library/scala/Product4.scala | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/library/scala/Product4.scala b/src/library/scala/Product4.scala index d6ed33e35e..5537c28ace 100644 --- a/src/library/scala/Product4.scala +++ b/src/library/scala/Product4.scala @@ -7,15 +7,45 @@ ** |/ ** \* */ -// generated on Fri Oct 27 18:56:23 CEST 2006 +// generated on Sun Nov 05 03:50:36 CET 2006 package scala import Predef._ -trait Product4 [+T1, +T2, +T3, +T4] { +/** Product4 is a cartesian product of 4 components + */ +trait Product4 [+T1, +T2, +T3, +T4] extends Product { + + /** + * The arity of this product. + * @return 4 + */ + override def arity = 4 + + /** + * Returns the n-th projection of this product if 0<n<=arity, otherwise null + * @param n number of the projection to be returned + * @throws IndexOutOfBoundsException + */ + override def element(n: Int) = n match { + case 1 => _1 + case 2 => _2 + case 3 => _3 + case 4 => _4 + case _ => throw new IndexOutOfBoundsException(n.toString()) + } + + /** projection of this product */ def _1:T1 + + /** projection of this product */ def _2:T2 + + /** projection of this product */ def _3:T3 + + /** projection of this product */ def _4:T4 + } |