ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Represent/DataType.hpp
Revision: 382
Committed: 2004-12-23T01:21:44-08:00 (20 years, 6 months ago) by douglas
File size: 1371 byte(s)
Log Message:
Compact.

File Contents

# User Rev Content
1 douglas 380 // 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 douglas 382 enum Type { TYPE_bool, TYPE_char, TYPE_short, TYPE_unsigned_short, TYPE_int, TYPE_unsigned_int, TYPE___int8, TYPE___int16, TYPE___int32, TYPE___int64, TYPE_long, TYPE_unsigned_long, TYPE_float, TYPE_double, TYPE_std_string, TYPE_ext_String };
20 douglas 380 private:
21     Type type;
22     static ext::Vector<DataType> enumeration;
23     public:
24     DataType(Type type = TYPE_bool) : type(type) {}
25     DataType(const ext::String& string) : type(TYPE_bool) { operator=(string); }
26     static const ext::Vector<DataType>& enumerate();
27     DataType& operator=(Type type) { this->type = type; return *this; }
28     DataType& operator=(const ext::String& string);
29     bool operator==(const DataType& data) const { return type == data.type; }
30     bool operator==(Type type) const { return this->type == type; }
31     bool operator==(const ext::String& string) const { return operator ext::String() == string; }
32     bool operator!=(const DataType& data) const { return type != data.type; }
33     bool operator!=(Type type) const { return this->type != type; }
34     bool operator!=(const ext::String& string) const { return operator ext::String() != string; }
35     operator Type() const { return type; }
36     operator ext::String() const;
37     };
38    
39     #endif // _DataType_hpp_

Properties

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