diff options
Diffstat (limited to 'src/dotnet-library/scala/Product1.scala')
-rw-r--r-- | src/dotnet-library/scala/Product1.scala | 50 |
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<=n<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 + + +} |