3
* Christian Schulte <schulte@gecode.org>
6
* Christian Schulte, 2003
9
* $Date: 2005-07-28 22:52:19 +0200 (Thu, 28 Jul 2005) $ by $Author: schulte $
12
* This file is part of Gecode, the generic constraint
13
* development environment:
14
* http://www.gecode.org
16
* See the file "LICENSE" for information on usage and
17
* redistribution of this file, and for a
18
* DISCLAIMER OF ALL WARRANTIES.
22
namespace Gecode { namespace Int { namespace Distinct {
26
Edge<View>::Edge(Node<View>* s, Node<View>* d)
32
forceinline Node<View>*
33
Edge<View>::dst(Node<View>* s) const {
39
Edge<View>::revert(Node<View>* d) {
45
forceinline ViewNode<View>*
46
Edge<View>::view(ValNode<View>* n) const {
47
return static_cast<ViewNode<View>*>(sd.ptr(n));
50
forceinline ValNode<View>*
51
Edge<View>::val(ViewNode<View>* x) const {
52
return static_cast<ValNode<View>*>(sd.ptr(x));
57
Edge<View>::used(Node<View>* v) const {
58
return sd.is_set() || (v->comp == sd.ptr(v)->comp);
62
Edge<View>::use(void) {
67
Edge<View>::free(void) {
72
forceinline Edge<View>*
73
Edge<View>::next_edge(void) const {
77
forceinline Edge<View>**
78
Edge<View>::next_edge_ref(void) {
82
forceinline Edge<View>*
83
Edge<View>::next(void) const {
84
return static_cast<Edge<View>*>(BiLink::next());
89
Edge<View>::operator new(size_t, void* p) {
95
// STATISTICS: int-prop