ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Represent/DataType.cpp
Revision: 387
Committed: 2004-12-24T03:17:21-08:00 (20 years, 5 months ago) by douglas
File size: 1144 byte(s)
Log Message:
Getting somewhere, but I've hit some weird stuff.

File Contents

# Content
1 // Represent
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #include "DataType.hpp"
8
9 const ext::Vector<DataType>& DataType::enumerate()
10 {
11 if (enumeration.IsEmpty())
12 {
13 _foru (type, TYPE_bool, TYPE_ext_String + 1) enumeration.InsertLast(Type(type));
14 }
15
16 return enumeration;
17 }
18
19 ext::Vector<DataType> DataType::enumeration;
20
21 DataType& DataType::operator=(const ext::String& string)
22 {
23 if (enumeration.IsEmpty()) enumerate();
24
25 ext::Vector<DataType>::ConstIterator found(enumeration.Find(string));
26
27 if (found != enumeration.End()) type = *found;
28
29 return *this;
30 }
31
32 DataType::operator ext::String() const
33 {
34 switch (type)
35 {
36 case TYPE_bool:
37 return "bool";
38 case TYPE_char:
39 return "char";
40 case TYPE_short:
41 return "short";
42 case TYPE_unsigned_short:
43 return "unsigned short";
44 case TYPE_int:
45 return "int";
46 case TYPE_unsigned_int:
47 return "unsigned int";
48 case TYPE_long:
49 return "long";
50 case TYPE_unsigned_long:
51 return "unsigned long";
52 case TYPE_float:
53 return "float";
54 case TYPE_double:
55 return "double";
56 case TYPE_std_string:
57 return "std::string";
58 case TYPE_ext_String:
59 return "ext::String";
60 default:
61 return ext::String();
62 }
63 }

Properties

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