Tulip  5.3.0
Large graphs analysis and drawing
StlFunctions.h
1 /*
2  *
3  * This file is part of Tulip (http://tulip.labri.fr)
4  *
5  * Authors: David Auber and the Tulip development Team
6  * from LaBRI, University of Bordeaux
7  *
8  * Tulip is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation, either version 3
11  * of the License, or (at your option) any later version.
12  *
13  * Tulip is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  */
19 ///@cond DOXYGEN_HIDDEN
20 
21 #ifndef _TLPSTLFUNCTIONS_H
22 #define _TLPSTLFUNCTIONS_H
23 
24 namespace tlp {
25 
26 class DoubleProperty;
27 struct node;
28 struct edge;
29 /**
30  This class enables to compare nodes and edges according to a metric,
31  instances of this class are useful for using stl sort function.
32  */
33 class LessByMetric {
34 public:
35  LessByMetric(DoubleProperty *metric) : metric(metric) {}
36  bool operator()(node n1, node n2);
37  bool operator()(edge e1, edge e2);
38 
39 private:
40  DoubleProperty *metric;
41 };
42 } // namespace tlp
43 #endif
44 
45 ///@endcond