BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
options.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: options.h,v 1.26.14.1 2007/03/25 21:23:40 oliver Exp $
5 //
6 
7 #ifndef BALL_DATATYPE_OPTIONS_H
8 #define BALL_DATATYPE_OPTIONS_H
9 
10 #ifndef BALL_COMMON_H
11 # include <BALL/common.h>
12 #endif
13 
14 #ifndef BALL_DATATYPE_STRING_H
15 # include <BALL/DATATYPE/string.h>
16 #endif
17 
18 #ifndef BALL_DATATYPE_STRINGHASHMAP_H
20 #endif
21 
22 #ifndef BALL_MATHS_VECTOR3_H
23 # include <BALL/MATHS/vector3.h>
24 #endif
25 
26 #ifndef BALL_CONCEPT_PERSISTENTOBJECT_H
28 #endif
29 
30 namespace BALL
31 {
45  : public StringHashMap<String>
46  {
47 
48  public:
49 
51 
52 
55 
59  static const Size MAX_ENTRY_LENGTH;
60 
62 
65 
68  Options();
69 
74  Options(const Options& options);
75 
81  virtual ~Options();
82 
84 
87 
90  const Options& operator = (const Options& options);
91 
94  virtual void clear();
95 
97 
100 
106  bool isInteger(const String& key) const;
107 
115  bool isBool(const String& key) const;
116 
122  bool isReal(const String& key) const;
123 
132  bool isVector(const String& key) const;
133 
138  bool isSet(const String& key) const;
139 
141 
144 
147  void setName(const String& name);
148 
151  const String& getName() const;
152 
158  String get(const String& key) const;
159 
170  bool getBool(const String& key) const;
171 
180  double getReal(const String& key) const;
181 
194  Vector3 getVector(const String& key) const;
195 
204  long getInteger(const String& key) const;
205 
212  void set(const String& key, const String& value);
213 
221  void setReal(const String& key, const double value);
222 
232  void setVector(const String& key, const Vector3& value);
233 
241  void setInteger(const String& key, const long value);
242 
250  void setBool(const String& key, const bool value);
251 
259  String setDefault(const String& key, const String& value);
260 
269  long setDefaultInteger(const String& key, const long value);
270 
279  double setDefaultReal(const String& key, const double value);
280 
289  bool setDefaultBool(const String& key, const bool value);
290 
309  bool readOptionFile(const String& filename);
310 
322  bool writeOptionFile(const String& filename) const;
323 
329  void write(PersistenceManager& pm) const;
330 
337  bool read(PersistenceManager& pm);
338 
340  bool operator == (const Options& option) const;
341 
343  bool operator != (const Options& option) const;
344 
345 
347 
350 
353  virtual void dump (std::ostream& s = std::cout, Size depth = 0) const;
354 
356 
357  protected:
358 
359  /*_ The option table's name */
360  String name_;
361 
362  };
363 } // namespace BALL
364 
365 #endif // BALL_DATATYPE_OPTIONS_H