summaryrefslogtreecommitdiff
path: root/src/library/scala/Product17.scala
blob: 1461788eeea1abb6f2f68c63913439ccda30b7df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*                     __                                               *\
**     ________ ___   / /  ___     Scala API                            **
**    / __/ __// _ | / /  / _ |    (c) 2002-2007, LAMP/EPFL             **
**  __\ \/ /__/ __ |/ /__/ __ |                                         **
** /____/\___/_/ |_/____/_/ | |                                         **
**                          |/                                          **
\*                                                                      */

// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $

// generated by genprod on Thu Apr 12 14:45:21 CEST 2007

package scala

import Predef._

object Product17 {
  def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](x: Product17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]): Option[Product17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]] =
    Some(x)
}

/** Product17 is a cartesian product of 17 components
 */
trait Product17[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17] extends Product {

  /**
   *  The arity of this product.
   *  @return 17
   */
  @deprecated override def arity = productArity

  /**
   *  The arity of this product.
   *  @return 17
   */
  override def productArity = 17

  /**
   *  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
   */
  @deprecated override def element(n: Int) = productElement(n)

  /**
   *  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 productElement(n: Int) = n match {
    case 0 => _1
    case 1 => _2
    case 2 => _3
    case 3 => _4
    case 4 => _5
    case 5 => _6
    case 6 => _7
    case 7 => _8
    case 8 => _9
    case 9 => _10
    case 10 => _11
    case 11 => _12
    case 12 => _13
    case 13 => _14
    case 14 => _15
    case 15 => _16
    case 16 => _17
    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

/** projection of this product */
  def _5: T5

/** projection of this product */
  def _6: T6

/** projection of this product */
  def _7: T7

/** projection of this product */
  def _8: T8

/** projection of this product */
  def _9: T9

/** projection of this product */
  def _10: T10

/** projection of this product */
  def _11: T11

/** projection of this product */
  def _12: T12

/** projection of this product */
  def _13: T13

/** projection of this product */
  def _14: T14

/** projection of this product */
  def _15: T15

/** projection of this product */
  def _16: T16

/** projection of this product */
  def _17: T17


}