Changeset 289 for trunk/enki/types.d
- Timestamp:
- 03/01/08 19:32:14 (4 years ago)
- Files:
-
- trunk/enki/types.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/enki/types.d
r277 r289 25 25 module enki.types; 26 26 27 private import std.string;27 /+private import std.string; 28 28 private import std.utf; 29 private import std.conv; 29 private import std.conv;+/ 30 import tango.text.Util; 31 import tango.text.Unicode; 32 import tango.util.Convert; 33 static import tango.text.convert.Utf; 30 34 31 35 version(EnkiUTF32){ 32 36 alias dchar[] String; 33 37 alias dchar Char; 34 alias to UTF32transcodeToString;35 alias to UTF8transcodeToUTF8;38 alias to!(dchar[]) transcodeToString; 39 alias to!(char[]) transcodeToUTF8; 36 40 } 37 41 else version(EnkiUTF16){ 38 42 alias wchar[] String; 39 43 alias wchar Char; 40 alias to UTF16transcodeToString;41 alias to UTF8transcodeToUTF8;44 alias to!(wchar[]) transcodeToString; 45 alias to!(char[]) transcodeToUTF8; 42 46 } 43 47 else{ 44 48 alias char[] String; 45 49 alias char Char; 46 alias to UTF8transcodeToString;50 alias to!(char[]) transcodeToString; 47 51 char[] transcodeToUTF8(char[] value){ return value; } 48 52 } 53 54 alias to!(char[]) toString; 55 49 56 50 57 // implicitly converable … … 72 79 } 73 80 else{ 74 return transcodeToString( std.string.toString(value));81 return transcodeToString(to!(char[])(value)); 75 82 } 76 83 } … … 83 90 U convert(V value){ 84 91 static if(is(U == int)){ 85 return std.conv.toInt(value);86 } 87 else static if(is(U == int)){88 return std.conv.toUint(value);92 return to!(U)(value); 93 } 94 else static if(is(U == uint)){ 95 return to!(U)(value); 89 96 } 90 97 else static if(is(U == long)){ 91 return std.conv.toLong(value);98 return to!(U)(value); 92 99 } 93 100 else static if(is(U == ulong)){ 94 return std.conv.toUlong(value);101 return to!(U)(value); 95 102 } 96 103 else static if(is(U == short)){ 97 return std.conv.toShort(value);104 return to!(U)(value); 98 105 } 99 106 else static if(is(U == ushort)){ 100 return std.conv.toUshort(value);107 return to!(U)(value); 101 108 } 102 109 else static if(is(U == byte)){ 103 return std.conv.toByte(value);110 return to!(U)(value); 104 111 } 105 112 else static if(is(U == ubyte)){ 106 return std.conv.toUbyte(value);113 return to!(U)(value); 107 114 } 108 115 else static if(is(U == float)){ 109 return std.conv.toFloat(value);116 return to!(U)(value); 110 117 } 111 118 else static if(is(U == double)){ 112 return std.conv.toDouble(value);119 return to!(U)(value); 113 120 } 114 121 else static if(is(U == real)){ 115 return std.conv.toReal(value);122 return to!(U)(value); 116 123 } 117 124 else static if(is(U == bool)){ … … 194 201 195 202 alias T Type; 196 alias Result!(T) ThisType;203 alias typeof(*this) ThisType; 197 204 198 205 public static ThisType opCall(T result){
