| 
| virtual bool  | has_key (const std::string &key) const =0 | 
|   | 
| virtual bool  | get_bool (const std::string &key) const =0 | 
|   | 
| virtual bool  | get_bool (const std::string &key, bool default_) const | 
|   | 
| virtual int  | get_int (const std::string &key) const =0 | 
|   | 
| virtual int  | get_int (const std::string &key, int default_) const | 
|   | 
| virtual double  | get_double (const std::string &key) const =0 | 
|   | 
| virtual double  | get_double (const std::string &key, double default_) const | 
|   | 
| virtual b2000::csda< double >  | get_csda_double (const std::string &key) const =0 | 
|   | 
| virtual b2000::csda< double >  | get_csda_double (const std::string &key, b2000::csda< double > default_) const | 
|   | 
| virtual std::complex< double >  | get_complex_double (const std::string &key) const =0 | 
|   | 
| virtual std::complex< double >  | get_complex_double (const std::string &key, std::complex< double > default_) const | 
|   | 
| virtual std::string  | get_string (const std::string &key) const =0 | 
|   | 
| virtual std::string  | get_string (const std::string &key, const std::string &default_) const | 
|   | 
| template<typename T >  | 
| T  | get (const std::string &key) const | 
|   | 
| template<typename T >  | 
| T  | get (const std::string &key, const T &default_) const | 
|   | 
| virtual void  | get (const std::string &key, std::vector< int > &v) const =0 | 
|   | 
| virtual void  | get (const std::string &key, std::vector< double > &v) const =0 | 
|   | 
| virtual void  | get (const std::string &key, std::vector< b2000::csda< double > > &v) const =0 | 
|   | 
| virtual void  | get (const std::string &key, std::vector< std::complex< double > > &v) const =0 | 
|   | 
| virtual void  | warn_on_non_used_key () const =0 | 
|   | 
| virtual const std::string &  | get_object_name () const | 
|   | 
| virtual  | ~Object () | 
|   | 
A dictionary is a collection of (key, value) pairs. The keys are unique (there is only one value for a given key, or none).
The values can be of type bool, int, double, std::complex<double>, std::string, std::vector of int, std::vector of double, and std::vector of std::complex<double>.
In derived classes, the get_* functions should throw KeyError if the key does not exist, and TypeError if the value cannot be converted to the specified type.