45template<
class E1,
class E2>
61 const E1&
x1()
const {
return m_x1; }
64 const E2&
x2()
const {
return m_x2; }
79template<
class E1,
class E2>
81 return t1.
x1() == t2.
x1() && t1.
x2() == t2.
x2();
85template<
class E1,
class E2>
87 return t1.
x1() != t2.
x1() || t1.
x2() != t2.
x2();
91template<
class E1,
class E2>
93 os <<
"(" << t2.
x1() <<
" " << t2.
x2() <<
")";
97template<
typename K1_,
typename K2_,
typename Hash1_ = DefHashFunc<K1_>,
typename Hash2_ = DefHashFunc<K2_>>
Declaration of classes used for hashing.
Basic declarations, included by all source files.
HashFuncTuple(const Hash1_ &hash1, const Hash2_ &hash2)
size_t hash(const Tuple2< K1_, K2_ > &key) const
Tuples of two elements (2-tuples).
Tuple2 & operator=(const Tuple2< E1, E2 > &)=default
Tuple2(const E1 &y1, const E2 &y2)
Constructs a 2-tuple for given values.
const E1 & x1() const
Returns a reference the first element.
const E2 & x2() const
Returns a reference the second element.
E1 & x1()
Returns a reference the first element.
Tuple2(const Tuple2< E1, E2 > &t2)
Constructs a 2-tuple that is a copy of t2.
E2 m_x2
The second element.
Tuple2()
Constructs a 2-tuple using default constructors.
E2 & x2()
Returns a reference the second element.
E1 m_x1
The first element.
#define OGDF_NEW_DELETE
Makes the class use OGDF's memory allocator.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
std::ostream & operator<<(std::ostream &os, const ogdf::Array< E, INDEX > &a)
Prints array a to output stream os.
bool operator!=(const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
Inequality operator for 2-tuples.
bool operator==(const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
Equality operator for 2-tuples.