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]);
   …
   …
   …
}

Reply via email to