summaryrefslogtreecommitdiff
path: root/src/library/scala/Product4.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/Product4.scala')
-rw-r--r--src/library/scala/Product4.scala34
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
+
}