this repo has no description
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2/*
3 * Main authors:
4 * Christian Schulte <schulte@gecode.org>
5 *
6 * Copyright:
7 * Christian Schulte, 2005
8 *
9 * This file is part of Gecode, the generic constraint
10 * development environment:
11 * http://www.gecode.org
12 *
13 * Permission is hereby granted, free of charge, to any person obtaining
14 * a copy of this software and associated documentation files (the
15 * "Software"), to deal in the Software without restriction, including
16 * without limitation the rights to use, copy, modify, merge, publish,
17 * distribute, sublicense, and/or sell copies of the Software, and to
18 * permit persons to whom the Software is furnished to do so, subject to
19 * the following conditions:
20 *
21 * The above copyright notice and this permission notice shall be
22 * included in all copies or substantial portions of the Software.
23 *
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 *
32 */
33
34namespace Gecode {
35
36 class IntVarArgs;
37 class IntVarArray;
38 class BoolVarArgs;
39 class BoolVarArray;
40 class IntArgs;
41
42 /// Traits of %IntVarArgs
43 template<>
44 class ArrayTraits<VarArgArray<IntVar>> {
45 public:
46 typedef IntVarArgs StorageType;
47 typedef IntVar ValueType;
48 typedef IntVarArgs ArgsType;
49 };
50
51 /// Traits of %IntVarArray
52 template<>
53 class ArrayTraits<VarArray<IntVar>> {
54 public:
55 typedef IntVarArray StorageType;
56 typedef IntVar ValueType;
57 typedef IntVarArgs ArgsType;
58 };
59
60 /// Traits of %BoolVarArgs
61 template<>
62 class ArrayTraits<VarArgArray<BoolVar>> {
63 public:
64 typedef BoolVarArgs StorageType;
65 typedef BoolVar ValueType;
66 typedef BoolVarArgs ArgsType;
67 };
68
69 /// Traits of %BoolVarArray
70 template<>
71 class ArrayTraits<VarArray<BoolVar>> {
72 public:
73 typedef BoolVarArray StorageType;
74 typedef BoolVar ValueType;
75 typedef BoolVarArgs ArgsType;
76 };
77
78 /// Traits of %IntArgs
79 template<>
80 class ArrayTraits<ArgArray<int>> {
81 public:
82 typedef IntArgs StorageType;
83 typedef int ValueType;
84 typedef IntArgs ArgsType;
85 };
86
87 /// Traits of %IntSetArgs
88 template<>
89 class ArrayTraits<ArgArray<IntSet>> {
90 public:
91 typedef IntSetArgs StorageType;
92 typedef IntSet ValueType;
93 typedef IntSetArgs ArgsType;
94 };
95
96 /// Traits of %IntVarArray
97 template<>
98 class ArrayTraits<IntVarArray> {
99 public:
100 typedef IntVarArray StorageType;
101 typedef IntVar ValueType;
102 typedef IntVarArgs ArgsType;
103 };
104
105 /// Traits of %IntVarArgs
106 template<>
107 class ArrayTraits<IntVarArgs> {
108 public:
109 typedef IntVarArgs StorageType;
110 typedef IntVar ValueType;
111 typedef IntVarArgs ArgsType;
112 };
113
114 /// Traits of %IntArgs
115 template<>
116 class ArrayTraits<IntArgs> {
117 public:
118 typedef IntArgs StorageType;
119 typedef int ValueType;
120 typedef IntArgs ArgsType;
121 };
122
123 /// Traits of %BoolVarArray
124 template<>
125 class ArrayTraits<BoolVarArray> {
126 public:
127 typedef BoolVarArray StorageType;
128 typedef BoolVar ValueType;
129 typedef BoolVarArgs ArgsType;
130 };
131
132 /// Traits of %BoolVarArgs
133 template<>
134 class ArrayTraits<BoolVarArgs> {
135 public:
136 typedef BoolVarArgs StorageType;
137 typedef BoolVar ValueType;
138 typedef BoolVarArgs ArgsType;
139 };
140
141}
142
143// STATISTICS: int-other