00001
00002 #include <hightest/config.h>
00003 #include <utils/Error.h>
00004
00005 #include <string>
00006
00007 namespace ht {
00008 namespace options {
00010 class Attribute {
00011 std::string value_;
00012 public:
00014 Attribute(const std::string & value);
00016 ~Attribute();
00018 const std::string & value() const;
00019 };
00021 class AttributeConversionError : public ht::utils::BaseException
00022 {
00023 public:
00025 AttributeConversionError(const std::string & value);
00026 };
00027
00030 void operator>>(const Attribute &, int &);
00031
00033 void operator>>(const Attribute &, unsigned int &);
00034
00039 void operator>>(const Attribute &, std::string &);
00040
00042 void operator>>(const Attribute &, float &);
00043
00045 void operator>>(const Attribute &, double &);
00046 }
00047 }
00048