Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Spot
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
117
Issues
117
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Spot
Spot
Commits
71e24906
Commit
71e24906
authored
Jul 22, 2016
by
Alexandre Duret-Lutz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
twa: rename twa::succ_iterable into internal::twa_succ_iterable
* spot/twa/twa.hh: Here. * NEWS: Mention the change.
parent
7534f62d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
43 deletions
+54
-43
NEWS
NEWS
+4
-0
spot/twa/twa.hh
spot/twa/twa.hh
+50
-43
No files found.
NEWS
View file @
71e24906
...
...
@@ -143,6 +143,10 @@ New in spot 2.0.3a (not yet released)
- {s[*0..j]}[]->b = {s[*1..j]}[]->b
- {s[*0..j]}<>->b = {s[*1..j]}<>->b
* spot::twa::succ_iterable renamed to
spot::internal::twa_succ_iterable to make it clear this is not for
public consumption.
Python:
* The __format__() method for formula supports the same
...
...
spot/twa/twa.hh
View file @
71e24906
...
...
@@ -515,6 +515,43 @@ namespace spot
it_
=
nullptr
;
}
};
#ifndef SWIG
/// \brief Helper class to iterate over the successor of a state
/// using the on-the-fly interface
///
/// This one emulates an STL-like container with begin()/end()
/// methods so that it can be iterated using a ranged-for.
class
twa_succ_iterable
{
protected:
const
twa
*
aut_
;
twa_succ_iterator
*
it_
;
public:
twa_succ_iterable
(
const
twa
*
aut
,
twa_succ_iterator
*
it
)
:
aut_
(
aut
),
it_
(
it
)
{
}
twa_succ_iterable
(
twa_succ_iterable
&&
other
)
:
aut_
(
other
.
aut_
),
it_
(
other
.
it_
)
{
other
.
it_
=
nullptr
;
}
~
twa_succ_iterable
();
// Defined in this file after twa
internal
::
succ_iterator
begin
()
{
return
it_
->
first
()
?
it_
:
nullptr
;
}
internal
::
succ_iterator
end
()
{
return
nullptr
;
}
};
#endif // SWIG
}
/// \defgroup twa TωA (Transition-based ω-Automata)
...
...
@@ -591,47 +628,6 @@ namespace spot
bdd_dict_ptr
dict_
;
public:
#ifndef SWIG
/// \brief Helper class to iterate over the successor of a state
/// using the on-the-fly interface
///
/// This one emulates an STL-like container with begin()/end()
/// methods so that it can be iterated using a ranged-for.
class
succ_iterable
{
protected:
const
twa
*
aut_
;
twa_succ_iterator
*
it_
;
public:
succ_iterable
(
const
twa
*
aut
,
twa_succ_iterator
*
it
)
:
aut_
(
aut
),
it_
(
it
)
{
}
succ_iterable
(
succ_iterable
&&
other
)
:
aut_
(
other
.
aut_
),
it_
(
other
.
it_
)
{
other
.
it_
=
nullptr
;
}
~
succ_iterable
()
{
if
(
it_
)
aut_
->
release_iter
(
it_
);
}
internal
::
succ_iterator
begin
()
{
return
it_
->
first
()
?
it_
:
nullptr
;
}
internal
::
succ_iterator
end
()
{
return
nullptr
;
}
};
#endif
virtual
~
twa
();
/// \brief Get the initial state of the automaton.
...
...
@@ -675,12 +671,12 @@ namespace spot
/// while (i->next());
/// aut->release_iter(i);
/// \endcode
succ_iterable
internal
::
twa_
succ_iterable
succ
(
const
state
*
s
)
const
{
return
{
this
,
succ_iter
(
s
)};
}
#endif
#endif
/// \brief Release an iterator after usage.
///
...
...
@@ -1401,6 +1397,17 @@ namespace spot
};
#ifndef SWIG
namespace
internal
{
inline
twa_succ_iterable
::~
twa_succ_iterable
()
{
if
(
it_
)
aut_
->
release_iter
(
it_
);
}
}
#endif // SWIG
/// \addtogroup twa_representation TωA representations
/// \ingroup twa
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment