spot
1.0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
tgbaalgos
gtec
sccstack.hh
Go to the documentation of this file.
1
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
2
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
3
// et Marie Curie.
4
//
5
// This file is part of Spot, a model checking library.
6
//
7
// Spot is free software; you can redistribute it and/or modify it
8
// under the terms of the GNU General Public License as published by
9
// the Free Software Foundation; either version 3 of the License, or
10
// (at your option) any later version.
11
//
12
// Spot is distributed in the hope that it will be useful, but WITHOUT
13
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15
// License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program. If not, see <http://www.gnu.org/licenses/>.
19
20
#ifndef SPOT_TGBAALGOS_GTEC_SCCSTACK_HH
21
# define SPOT_TGBAALGOS_GTEC_SCCSTACK_HH
22
23
#include <bdd.h>
24
#include <list>
25
#include <
tgba/state.hh
>
26
27
namespace
spot
28
{
29
// A stack of Strongly-Connected Components, as needed by the
30
// Tarjan-Couvreur algorithm.
31
class
scc_stack
32
{
33
public
:
34
struct
connected_component
35
{
36
public
:
37
connected_component
(
int
index
= -1);
38
40
int
index
;
43
bdd
condition
;
44
45
std::list<const state*>
rem
;
46
};
47
49
void
push
(
int
index);
50
52
connected_component
&
top
();
53
55
const
connected_component
&
top
()
const
;
56
58
void
pop
();
59
61
size_t
size
()
const
;
62
64
std::list<const state*>&
rem
();
65
69
unsigned
clear_rem
();
70
72
bool
empty
()
const
;
73
74
typedef
std::list<connected_component>
stack_type
;
75
stack_type
s
;
76
};
77
}
78
79
#endif // SPOT_TGBAALGOS_GTEC_SCCSTACK_HH
Please
comment
this page and
report errors
about it on
the RefDocComments page
.
Generated on Wed Jan 23 2013 15:00:01 for spot by
1.8.1.2