summaryrefslogtreecommitdiff
path: root/src/dotnet-library/scala/Product1.scala
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2007-02-07 09:06:25 +0000
committermihaylov <mihaylov@epfl.ch>2007-02-07 09:06:25 +0000
commite3b42865333ed502b3e454c98eefbfc705e33d82 (patch)
tree68982d6051371b3731c6918e44cc0d9788b15e59 /src/dotnet-library/scala/Product1.scala
parent108db60672ffa6a70617f51b166d8c751d7e65bb (diff)
downloadscala-e3b42865333ed502b3e454c98eefbfc705e33d82.tar.gz
scala-e3b42865333ed502b3e454c98eefbfc705e33d82.tar.bz2
scala-e3b42865333ed502b3e454c98eefbfc705e33d82.zip
Created src/dotnet-library from r9912 of src/li...
Created src/dotnet-library from r9912 of src/library
Diffstat (limited to 'src/dotnet-library/scala/Product1.scala')
-rw-r--r--src/dotnet-library/scala/Product1.scala50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/dotnet-library/scala/Product1.scala b/src/dotnet-library/scala/Product1.scala
new file mode 100644
index 0000000000..33b61f3b33
--- /dev/null
+++ b/src/dotnet-library/scala/Product1.scala
@@ -0,0 +1,50 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2007, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+
+// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+
+package scala
+
+import Predef._
+
+object Product1 {
+ def unapply[T1](x: Product1[T1]): Option[Product1[T1]] =
+ Some(x)
+}
+
+/** Product1 is a cartesian product of 1 components
+ */
+trait Product1[+T1] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 1
+ */
+ override def arity = 1
+
+ /**
+ * Returns the n-th projection of this product if 0&lt;=n&lt;arity,
+ * otherwise null.
+ *
+ * @param n number of the projection to be returned
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 0 => _1
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1: T1
+
+
+}