source: src/Parameters/ValueInterface.hpp@ 97dff0

Last change on this file since 97dff0 was 6440c6, checked in by Frederik Heber <heber@…>, 12 years ago

Reworked inheritance graph of Parameter and Value.

  • Property mode set to 100644
File size: 747 bytes
RevLine 
[c68409]1/*
2 * ValueInterface.hpp
3 *
4 * Created on: Sep 28, 2011
5 * Author: heber
6 */
7
8#ifndef VALUEINTERFACE_HPP_
9#define VALUEINTERFACE_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
[047cad]16#include <string>
17
[e45c1d]18#include "ParameterExceptions.hpp"
[7dc60a]19#include "ValueAsString.hpp"
20
[c68409]21/** Interface definition for general parameter values.
22 *
23 */
24template <class T>
[6440c6]25class ValueInterface
[c68409]26{
27public:
28 virtual ~ValueInterface() {};
29
[047cad]30 // direct functions
[e45c1d]31 virtual bool isValid(const T & _value) const throw(ParameterValidatorException)=0;
32 virtual const T & get() const throw(ParameterValueException)=0;
33 virtual void set(const T & _value) throw(ParameterException)=0;
[95f965]34 virtual bool isSet() const=0;
[c68409]35};
36
37#endif /* VALUEINTERFACE_HPP_ */
Note: See TracBrowser for help on using the repository browser.