spot  1.1.3
optionmap.hh
Go to the documentation of this file.
1 // Copyright (C) 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_MISC_OPTIONMAP_HH
21 # define SPOT_MISC_OPTIONMAP_HH
22 
23 #include <string>
24 #include <map>
25 #include <iosfwd>
26 
27 namespace spot
28 {
33  class option_map
34  {
35  public:
43 
48  const char* parse_options(const char* options);
52 
58  int get(const char* option, int def = 0) const;
59 
64  int operator[](const char* option) const;
65 
70  int set(const char* option, int val, int def = 0);
71 
73  void set(const option_map& o);
74 
76  int& operator[](const char* option);
77 
79  friend std::ostream& operator<<(std::ostream& os, const option_map& m);
80 
81  private:
82  std::map<std::string, int> options_;
83  };
84 }
85 
86 #endif // SPOT_MISC_OPTIONMAP_HH

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Tue Jul 9 2013 14:04:33 for spot by doxygen 1.8.4