summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/graph_utils/sample_pair_abstract.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/graph_utils/sample_pair_abstract.h')
-rw-r--r--ml/dlib/dlib/graph_utils/sample_pair_abstract.h192
1 files changed, 0 insertions, 192 deletions
diff --git a/ml/dlib/dlib/graph_utils/sample_pair_abstract.h b/ml/dlib/dlib/graph_utils/sample_pair_abstract.h
deleted file mode 100644
index 3306899e3..000000000
--- a/ml/dlib/dlib/graph_utils/sample_pair_abstract.h
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright (C) 2010 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_SAMPLE_PaIR_ABSTRACT_Hh_
-#ifdef DLIB_SAMPLE_PaIR_ABSTRACT_Hh_
-
-#include <limits>
-#include "../serialize.h"
-
-namespace dlib
-{
-
-// ----------------------------------------------------------------------------------------
-
- class sample_pair
- {
- /*!
- WHAT THIS OBJECT REPRESENTS
- This object is intended to represent an edge in an undirected graph
- which has data samples at its vertices. So it contains two integers
- (index1 and index2) which represent the identifying indices of
- the samples at the ends of an edge. Note that this object enforces
- the constraint that index1 <= index2. This has the effect of
- making the edges undirected since a sample_pair is incapable
- of representing a single edge in more than one way. That is,
- sample_pair(i,j) == sample_pair(j,i) for any value of i and j.
-
- This object also contains a double which can be used for any purpose.
- !*/
-
- public:
- sample_pair(
- );
- /*!
- ensures
- - #index1() == 0
- - #index2() == 0
- - #distance() == 1
- !*/
-
- sample_pair (
- const unsigned long idx1,
- const unsigned long idx2
- );
- /*!
- ensures
- - #index1() == min(idx1,idx2)
- - #index2() == max(idx1,idx2)
- - #distance() == 1
- !*/
-
- sample_pair (
- const unsigned long idx1,
- const unsigned long idx2,
- const double dist
- );
- /*!
- ensures
- - #index1() == min(idx1,idx2)
- - #index2() == max(idx1,idx2)
- - #distance() == dist
- !*/
-
- const unsigned long& index1 (
- ) const;
- /*!
- ensures
- - returns the first index value stored in this object
- !*/
-
- const unsigned long& index2 (
- ) const;
- /*!
- ensures
- - returns the second index value stored in this object
- !*/
-
- const double& distance (
- ) const;
- /*!
- ensures
- - returns the floating point number stored in this object
- !*/
-
- };
-
-// ----------------------------------------------------------------------------------------
-
- template <typename T>
- bool order_by_index (
- const T& a,
- const T& b
- ) { return a.index1() < b.index1() || (a.index1() == b.index1() && a.index2() < b.index2()); }
- /*!
- requires
- - T is a type with an interface compatible with sample_pair.
- ensures
- - provides a total ordering of sample_pair objects that will cause pairs that are
- equal to be adjacent when sorted. So for example, this function can be used
- with std::sort() to first sort a sequence of sample_pair objects and then
- find duplicate edges.
- !*/
-
- template <typename T>
- bool order_by_distance (
- const T& a,
- const T& b
- ) { return a.distance() < b.distance(); }
- /*!
- requires
- - T is a type with an interface compatible with sample_pair.
- ensures
- - provides a total ordering of sample_pair objects that causes pairs with
- smallest distance to be the first in a sorted list. This function can be
- used with std::sort().
- !*/
-
- template <typename T>
- bool order_by_descending_distance (
- const T& a,
- const T& b
- ) { return a.distance() > b.distance(); }
- /*!
- requires
- - T is a type with an interface compatible with sample_pair.
- ensures
- - provides a total ordering of sample_pair objects that causes pairs with
- largest distance to be the first in a sorted list. This function can be
- used with std::sort().
- !*/
-
- template <typename T>
- bool order_by_distance_and_index (
- const T& a,
- const T& b
- ) { return a.distance() < b.distance() || (a.distance() == b.distance() && order_by_index(a,b)); }
- /*!
- requires
- - T is a type with an interface compatible with sample_pair.
- ensures
- - provides a total ordering of sample_pair objects that causes pairs with
- smallest distance to be the first in a sorted list but also orders samples
- with equal distances according to order_by_index(). This function can be
- used with std::sort().
- !*/
-
-// ----------------------------------------------------------------------------------------
-
- inline bool operator == (
- const sample_pair& a,
- const sample_pair& b
- );
- /*!
- ensures
- - returns a.index1() == b.index1() && a.index2() == b.index2();
- I.e. returns true if a and b both represent the same pair and false otherwise.
- Note that the distance field is not involved in this comparison.
- !*/
-
- inline bool operator != (
- const sample_pair& a,
- const sample_pair& b
- );
- /*!
- ensures
- - returns !(a == b)
- !*/
-
-// ----------------------------------------------------------------------------------------
-
- inline void serialize (
- const sample_pair& item,
- std::ostream& out
- );
- /*!
- provides serialization support
- !*/
-
- inline void deserialize (
- sample_pair& item,
- std::istream& in
- );
- /*!
- provides deserialization support
- !*/
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_SAMPLE_PaIR_ABSTRACT_Hh_
-
-