about std.string.representation

bioinfornatics bioinfornatics at fedoraproject.org
Mon Nov 18 19:48:07 PST 2013


On Thursday, 14 November 2013 at 12:01:04 UTC, Ali Çehreli wrote:
> On 11/13/2013 04:32 PM, bioinfornatics wrote:
>> Hi,
>> I try to understand which type char, dchar, wchar will give
>> ubyte,ushort,uint…
>
> And for templates, there is std.range.ElementEncodingType:
>
> import std.stdio;
> import std.range;
>
> void foo(R)(R range)
> {
>     // In contrast, ElementType!R for strings is always dchar
>     writeln(typeid(ElementEncodingType!R));
> }
>
> void main()
> {
>     string  t  = "test";
>     char[]  c  = "test".dup;
>     dchar[] dc = "test"d.dup;
>     wchar[] wc = "test"w.dup;
>
>     foo(t);
>     foo(c);
>     foo(dc);
>     foo(wc);
> }
>
> Prints:
>
> immutable(char)
> char
> dchar
> wchar
>
> Ali

Thanks Ali that is interesting too …

In same way i would like to know if they are a function wich 
return
ubyte, ushort, uint instead of:

- char, dchar, wchar from std.range.ElementEncodingType
- ubyte[], ushort[], uint[]  from std.string.representation


maybe:

foo(T)( string s ){
     alias T typeof(s.representation[0]);
    …
    …
    …
}


More information about the Digitalmars-d-learn mailing list