digitalmars.D.announce - Suggesting an addition to std.traits for arrays and pointers
- Markus Dangl <danglm in.tum.de> Aug 13 2007
- Markus Dangl <danglm in.tum.de> Aug 13 2007
- Benjamin Phillips <blackllotus gmail.com> Aug 14 2007
I think these two simple templates could be added to std.traits. Afaik
there is no way around defining templates for this:
/***
* Get the referenced type of an array.
* Example:
* ---
* import std.traits;
* int[] foo;
* ValueType!(foo) x; // x is declared as int
* ---
*/
template ValueType(T : T*)
{
alias T ValueType;
}
/***
* Get the referenced type of an pointer.
* Example:
* ---
* import std.traits;
* int* foo;
* ValueType!(foo) x; // x is declared as int
* ---
*/
template ValueType(T : T[])
{
alias T ValueType;
}
Aug 13 2007
Sorry wrong newsgroup. But - since ready-to-use code is included - this might not be so totally wrong.
Aug 13 2007
Markus Dangl Wrote:I think these two simple templates could be added to std.traits. Afaik there is no way around defining templates for this: /*** * Get the referenced type of an array. * Example: * --- * import std.traits; * int[] foo; * ValueType!(foo) x; // x is declared as int * --- */ template ValueType(T : T*) { alias T ValueType; } /*** * Get the referenced type of an pointer. * Example: * --- * import std.traits; * int* foo; * ValueType!(foo) x; // x is declared as int * --- */ template ValueType(T : T[]) { alias T ValueType; }
I think you mixed the comments up :)
Aug 14 2007









Markus Dangl <danglm in.tum.de> 