Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
bitset.hpp
Go to the documentation of this file.
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2/*
3 * Main authors:
4 * Mikael Lagerkvist <lagerkvist@gecode.org>
5 *
6 * Contributing authors:
7 * Christian Schulte <schulte@gecode.org>
8 *
9 * Copyright:
10 * Mikael Lagerkvist, 2007
11 * Christian Schulte, 2007
12 *
13 * This file is part of Gecode, the generic constraint
14 * development environment:
15 * http://www.gecode.org
16 *
17 * Permission is hereby granted, free of charge, to any person obtaining
18 * a copy of this software and associated documentation files (the
19 * "Software"), to deal in the Software without restriction, including
20 * without limitation the rights to use, copy, modify, merge, publish,
21 * distribute, sublicense, and/or sell copies of the Software, and to
22 * permit persons to whom the Software is furnished to do so, subject to
23 * the following conditions:
24 *
25 * The above copyright notice and this permission notice shall be
26 * included in all copies or substantial portions of the Software.
27 *
28 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35 *
36 */
37
38#include <climits>
39#include <cmath>
40
41namespace Gecode { namespace Support {
42
44 template<class A>
45 class BitSet : public BitSetBase {
46 protected:
48 A& a;
49 public:
51 BitSet(A& a, unsigned int s, bool set=false);
53 BitSet(A& a, const BitSet& bs);
55 ~BitSet(void);
56 };
57
58 template<class A>
60 BitSet<A>::BitSet(A& a0, unsigned int s, bool set)
61 : BitSetBase(a0,s,set), a(a0) {}
62
63 template<class A>
65 BitSet<A>::BitSet(A& a0, const BitSet<A>& bs)
66 : BitSetBase(a0,bs), a(a0) {}
67
68 template<class A>
71 dispose(a);
72 }
73
74}}
75
76// STATISTICS: support-any
77
void dispose(A &a)
Dispose memory for bit set.
void set(unsigned int i)
Set bit i.
~BitSet(void)
Destructor.
Definition bitset.hpp:70
BitSet(A &a, unsigned int s, bool set=false)
Bit set with space for s bits.
Definition bitset.hpp:60
BitSet(A &a, const BitSet &bs)
Copy bit set bs.
Definition bitset.hpp:65
Support algorithms and datastructures
Gecode toplevel namespace
#define forceinline
Definition config.hpp:194