Mercurial > projects > dwt2
comparison base/src/java/lang/String.d @ 115:b31c27b8e86d
Added Phobos implementation of java.lang.String.firstCodePoint.
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 17 Apr 2011 16:53:26 +0200 |
parents | 46539f5c5993 |
children | c81e3dc6b9ad |
comparison
equal
deleted
inserted
replaced
114:46539f5c5993 | 115:b31c27b8e86d |
---|---|
128 } | 128 } |
129 assert( ate > 0 ); | 129 assert( ate > 0 ); |
130 assert( res.length is 1 ); | 130 assert( res.length is 1 ); |
131 return res[0]; | 131 return res[0]; |
132 } else { // Phobos | 132 } else { // Phobos |
133 implMissing( __FILE__, __LINE__ ); | 133 size_t ate = 0; |
134 return '\0'; | 134 auto res = std.utf.decode(str, ate); |
135 | |
136 if (ate == 0) | |
137 getDwtLogger().trace( __FILE__, __LINE__, "str.length={} str={:X2}", str.length, cast(ubyte[])str ); | |
138 | |
139 assert(ate > 0); | |
140 consumed = ate; | |
141 | |
142 return res; | |
135 } | 143 } |
136 } | 144 } |
137 dchar firstCodePoint( CString16 str, out int consumed ){ | 145 dchar firstCodePoint( CString16 str, out int consumed ){ |
138 version(Tango){ | 146 version(Tango){ |
139 dchar[1] buf; | 147 dchar[1] buf; |
145 } | 153 } |
146 assert( ate > 0 ); | 154 assert( ate > 0 ); |
147 assert( res.length is 1 ); | 155 assert( res.length is 1 ); |
148 return res[0]; | 156 return res[0]; |
149 } else { // Phobos | 157 } else { // Phobos |
150 implMissing( __FILE__, __LINE__ ); | 158 size_t ate = 0; |
151 return '\0'; | 159 auto res = std.utf.decode(str, ate); |
160 | |
161 if (ate == 0) | |
162 getDwtLogger().trace( __FILE__, __LINE__, "str.length={} str={:X2}", str.length, cast(ubyte[])str ); | |
163 | |
164 assert(ate > 0); | |
165 consumed = ate; | |
166 | |
167 return res; | |
152 } | 168 } |
153 } | 169 } |
154 | 170 |
155 String dcharToString( dchar key ){ | 171 String dcharToString( dchar key ){ |
156 version(Tango){ | 172 version(Tango){ |