summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/utilities/pairs/CPair.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/utilities/pairs/CPair.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/utilities/pairs/CPair.java96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/utilities/pairs/CPair.java b/src/de/lmu/ifi/dbs/elki/utilities/pairs/CPair.java
deleted file mode 100644
index 036eaea2..00000000
--- a/src/de/lmu/ifi/dbs/elki/utilities/pairs/CPair.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package de.lmu.ifi.dbs.elki.utilities.pairs;
-
-/*
- This file is part of ELKI:
- Environment for Developing KDD-Applications Supported by Index-Structures
-
- Copyright (C) 2013
- Ludwig-Maximilians-Universität München
- Lehr- und Forschungseinheit für Datenbanksysteme
- ELKI Development Team
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil;
-
-/**
- * Pair with canonical comparison function derived from the components comparable interfaces.
- *
- * @author Erich Schubert
- *
- * @param <FIRST> first type
- * @param <SECOND> second type
- */
-public class CPair<FIRST extends Comparable<? super FIRST>, SECOND extends Comparable<? super SECOND>> extends Pair<FIRST, SECOND> implements Comparable<CPair<FIRST,SECOND>> {
- /**
- * Initialize pair
- *
- * @param first first parameter
- * @param second second parameter
- */
- public CPair(FIRST first, SECOND second) {
- super(first, second);
- }
-
- /**
- * Generic derived compare function.
- *
- * @param other Object to compare to
- * @return comparison result
- */
- @Override
- public int compareTo(CPair<FIRST, SECOND> other) {
- // try comparing by first
- if(this.first != null) {
- if(other.first == null) {
- return -1;
- }
- int delta1 = this.first.compareTo(other.first);
- if(delta1 != 0) {
- return delta1;
- }
- }
- else if(other.first != null) {
- return +1;
- }
- // try comparing by second
- if(this.second != null) {
- if(other.second == null) {
- return -1;
- }
- int delta2 = this.second.compareTo(other.second);
- if(delta2 != 0) {
- return delta2;
- }
- }
- else if(other.second != null) {
- return +1;
- }
- return 0;
- }
-
- /**
- * Array constructor for generics
- *
- * @param <F> First type
- * @param <S> Second type
- * @param size Size of array to be constructed
- * @return New array of requested size
- */
- public static final <F extends Comparable<? super F>, S extends Comparable<? super S>> CPair<F, S>[] newArray(int size) {
- Class<CPair<F,S>> paircls = ClassGenericsUtil.uglyCastIntoSubclass(CPair.class);
- return ClassGenericsUtil.newArrayOfNull(size, paircls);
- }
-} \ No newline at end of file