+#ifndef THREETUPLE_H
+#define THREETUPLE_H
-class ThreeTuple<A, B, C> {
- private A a;
- private B b;
- private C c;
+template<typename A, typename B, typename C>
+ class ThreeTuple {
+ private:
+ A a;
+ B b;
+ C c;
- ThreeTuple(A a, B b, C c) {
- this.a = a;
- this.b = b;
- this.c = c;
- }
-
- A getFirst() {
- return a;
- }
-
- B getSecond() {
- return b;
- }
-
- C getThird() {
- return c;
- }
-
- public String toString() {
- return "<" + a + "," + b + "," + c + ">";
- }
-}
+ public:
+ ThreeTuple(A _a, B _b, C _c) :
+ a(_a),
+ b(_b),
+ c(_c) {
+ }
+ A getFirst() {
+ return a;
+ }
+ B getSecond() {
+ return b;
+ }
+ C getThird() {
+ return c;
+ }
+};
+#endif