spot
1.99.3
Main Page
Related Pages
Modules
Classes
Files
File List
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
bin
common_range.hh
1
// -*- coding: utf-8 -*-
2
// Copyright (C) 2012, 2014 Laboratoire de Recherche et Développement
3
// de l'Epita (LRDE).
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
#pragma once
21
22
#define RANGE_DOC \
23
{ 0, 0, 0, 0, "RANGE may have one of the following forms: 'INT', " \
24
"'INT..INT', or '..INT'.\nIn the latter case, the missing number " \
25
"is assumed to be 1.", 0 }
26
27
#define RANGE_DOC_FULL \
28
{ 0, 0, 0, 0, "RANGE may have one of the following forms: 'INT', " \
29
"'INT..INT', '..INT', or 'INT..'", 0 }
30
31
struct
range
32
{
33
int
min;
34
int
max;
35
36
bool
contains(
int
val)
37
{
38
return
val >= min && val <= max;
39
}
40
};
41
42
// INT, INT..INT, ..INT, or INT..
43
//
44
// The missing_left and missing_right argument gives the default bound
45
// values. Additionally, if missing_right == 0, then the INT.. form
46
// is disallowed.
47
range
parse_range(
const
char
* str,
48
int
missing_left = 1,
int
missing_right = 0);
range
Definition:
common_range.hh:31
Please direct any
question
,
comment
, or
bug report
to the Spot mailing list at
spot@lrde.epita.fr
.
Generated on Wed Aug 26 2015 08:42:37 for spot by
1.8.8