delta.hpp
Go to the documentation of this file.
/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
* Main authors:
* Christian Schulte <schulte@gecode.org>
*
* Copyright:
* Christian Schulte, 2016
*
* This file is part of Gecode, the generic constraint
* development environment:
* http://www.gecode.org
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
namespace Gecode {
forceinline
SetTraceDelta::Glb::Glb(RangeList* o0, Set::SetView n0)
: o(o0), n(n0) {
init(n,o);
}
forceinline
SetTraceDelta::Lub::Lub(RangeList* o0, Set::SetView n0)
: o(o0), n(n0) {
init(o,n);
}
forceinline
SetTraceDelta::SetTraceDelta(Set::SetTraceView o, Set::SetView n,
const Delta&)
: _glb(o.glb(),n), _lub(o.lub(),n) {}
forceinline SetTraceDelta::Glb&
SetTraceDelta::glb(void) {
return _glb;
}
forceinline SetTraceDelta::Lub&
SetTraceDelta::lub(void) {
return _lub;
}
}
// STATISTICS: set-trace
Gecode::Delta
Generic domain change information to be supplied to advisors.
Definition core.hpp:204
Gecode::Iter::Ranges::Diff< Set::GlbRanges< Set::SetView >, Iter::Ranges::RangeList >::init
void init(Set::GlbRanges< Set::SetView > &i, Iter::Ranges::RangeList &j)
Definition ranges-diff.hpp:125
Gecode::RangeList
Lists of ranges (intervals).
Definition range-list.hpp:49
Gecode::SetTraceDelta::Glb
Delta for the greatest lower bound.
Definition set.hh:1755
Gecode::SetTraceDelta::Glb::n
Set::GlbRanges< Set::SetView > n
Iterator over new glb.
Definition set.hh:1760
Gecode::SetTraceDelta::Glb::o
Iter::Ranges::RangeList o
Iterator over old glb.
Definition set.hh:1758
Gecode::SetTraceDelta::Glb::Glb
Glb(RangeList *o, Set::SetView n)
Initialize with old glb and new glb.
Definition delta.hpp:37
Gecode::SetTraceDelta::Lub
Delta for the least upper bound.
Definition set.hh:1772
Gecode::SetTraceDelta::Lub::o
Iter::Ranges::RangeList o
Iterator over old lub.
Definition set.hh:1775
Gecode::SetTraceDelta::Lub::Lub
Lub(RangeList *o, Set::SetView n)
Initialize with old lub o and new lub n.
Definition delta.hpp:42
Gecode::SetTraceDelta::Lub::n
Set::LubRanges< Set::SetView > n
Iterator over new lub.
Definition set.hh:1777
Gecode::SetTraceDelta::_glb
Glb _glb
Definition set.hh:1768
Gecode::SetTraceDelta::glb
Glb & glb(void)
Give access to iterator for delta in greatest lower bound (values that have been included).
Definition delta.hpp:52
Gecode::SetTraceDelta::SetTraceDelta
SetTraceDelta(Set::SetTraceView o, Set::SetView n, const Delta &d)
Initialize with old trace view o, new view n, and delta d.
Definition delta.hpp:48
Gecode::SetTraceDelta::lub
Lub & lub(void)
Give access iterator for delta in leat bound (values that have been removed).
Definition delta.hpp:56
Gecode::SetTraceDelta::_lub
Lub _lub
Definition set.hh:1785
Gecode::Set::SetTraceView
Duplicate of a set view.
Definition trace-view.hpp:37
Gecode::Set::SetView
Set view for set variables
Definition view.hpp:56
Gecode
Gecode toplevel namespace
forceinline
#define forceinline
Definition config.hpp:187