ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Represent/DataType.hpp
Revision: 380
Committed: 2004-12-23T01:07:33-08:00 (20 years, 6 months ago) by douglas
File size: 1405 byte(s)
Log Message:
Moo!

File Contents

# Content
1 // Represent
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #ifndef _DataType_hpp_
8 #define _DataType_hpp_
9
10 #include "Represent.hpp"
11
12 #ifdef MENES_PRAGMA_ONCE
13 #pragma once
14 #endif
15
16 class DataType
17 {
18 public:
19 enum Type
20 {
21 TYPE_bool,
22 TYPE_char,
23 TYPE_short,
24 TYPE_unsigned_short,
25 TYPE_int,
26 TYPE_unsigned_int,
27 TYPE___int8,
28 TYPE___int16,
29 TYPE___int32,
30 TYPE___int64,
31 TYPE_long,
32 TYPE_unsigned_long,
33 TYPE_float,
34 TYPE_double,
35 TYPE_std_string,
36 TYPE_ext_String
37 };
38 private:
39 Type type;
40 static ext::Vector<DataType> enumeration;
41 public:
42 DataType(Type type = TYPE_bool) : type(type) {}
43 DataType(const ext::String& string) : type(TYPE_bool) { operator=(string); }
44 static const ext::Vector<DataType>& enumerate();
45 DataType& operator=(Type type) { this->type = type; return *this; }
46 DataType& operator=(const ext::String& string);
47 bool operator==(const DataType& data) const { return type == data.type; }
48 bool operator==(Type type) const { return this->type == type; }
49 bool operator==(const ext::String& string) const { return operator ext::String() == string; }
50 bool operator!=(const DataType& data) const { return type != data.type; }
51 bool operator!=(Type type) const { return this->type != type; }
52 bool operator!=(const ext::String& string) const { return operator ext::String() != string; }
53 operator Type() const { return type; }
54 operator ext::String() const;
55 };
56
57 #endif // _DataType_hpp_

Properties

Name Value
svn:eol-style native
svn:keywords Id