Generated on Thu Jan 20 2022 00:00:00 for Gecode by doxygen 1.9.1
traits.hpp
Go to the documentation of this file.
1 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 /*
3  * Main authors:
4  * Christian Schulte <schulte@gecode.org>
5 *
6  * Copyright:
7  * Christian Schulte, 2012
8  *
9  * This file is part of Gecode, the generic constraint
10  * development environment:
11  * http://www.gecode.org
12  *
13  * Permission is hereby granted, free of charge, to any person obtaining
14  * a copy of this software and associated documentation files (the
15  * "Software"), to deal in the Software without restriction, including
16  * without limitation the rights to use, copy, modify, merge, publish,
17  * distribute, sublicense, and/or sell copies of the Software, and to
18  * permit persons to whom the Software is furnished to do so, subject to
19  * the following conditions:
20  *
21  * The above copyright notice and this permission notice shall be
22  * included in all copies or substantial portions of the Software.
23  *
24  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31  *
32  */
33 
34 namespace Gecode {
35 
37  template<>
39  public:
45  typedef IntBranchVal Val;
47  typedef int ValType;
50  };
51 
53  template<>
55  public:
61  typedef BoolBranchVal Val;
63  typedef int ValType;
66  };
67 
68 }
69 
70 // STATISTICS: int-branch
Boolean integer variables.
Definition: int.hh:512
BoolBranchFilter Filter
Type for the branching filter function.
Definition: traits.hpp:57
int ValType
Return type of the branching value function.
Definition: traits.hpp:63
BoolBranchCommit Commit
Type for the branching commit function.
Definition: traits.hpp:65
BoolBranchVal Val
Type for the branching value function.
Definition: traits.hpp:61
BoolBranchMerit Merit
Type for the branching merit function.
Definition: traits.hpp:59
IntBranchVal Val
Type for the branching value function.
Definition: traits.hpp:45
IntBranchCommit Commit
Type for the branching commit function.
Definition: traits.hpp:49
IntBranchFilter Filter
Type for the branching filter function.
Definition: traits.hpp:41
IntBranchMerit Merit
Type for the branching merit function.
Definition: traits.hpp:43
int ValType
Return type of the branching value function.
Definition: traits.hpp:47
Traits for branching.
Definition: traits.hpp:55
Integer variables.
Definition: int.hh:371
std::function< double(const Space &home, IntVar x, int i)> IntBranchMerit
Branch merit function type for integer variables.
Definition: int.hh:4198
std::function< bool(const Space &home, IntVar x, int i)> IntBranchFilter
Branch filter function type for integer variables.
Definition: int.hh:4176
std::function< bool(const Space &home, BoolVar x, int i)> BoolBranchFilter
Branch filter function type for Boolean variables.
Definition: int.hh:4186
std::function< int(const Space &home, BoolVar x, int i)> BoolBranchVal
Branch value function type for Boolean variables.
Definition: int.hh:4234
std::function< double(const Space &home, BoolVar x, int i)> BoolBranchMerit
Branch merit function type for Boolean variables.
Definition: int.hh:4209
std::function< int(const Space &home, IntVar x, int i)> IntBranchVal
Branch value function type for integer variables.
Definition: int.hh:4222
std::function< void(Space &home, unsigned int a, BoolVar x, int i, int n)> BoolBranchCommit
Branch commit function type for Boolean variables.
Definition: int.hh:4263
std::function< void(Space &home, unsigned int a, IntVar x, int i, int n)> IntBranchCommit
Branch commit function type for integer variables.
Definition: int.hh:4249