On Monday, 11 January 2016 at 12:01:30 UTC, Tobi G. wrote:
On Monday, 11 January 2016 at 08:03:19 UTC, Saurabh Das wrote:
How can I get std.conv to understand std.typecons.Typedef?
You can do something like this:
QuestionId q = to!(TypedefType!QuestionId)("43");
In general, is there a better solution to orthogonal types
than Typedef?
Typedef is a reasonably solution, for this in my opinion.
togrue
Oh excellent. Yes that works for a standalone conversion. Do you
know how I can use this with std.csv?
import std.typecons;
alias QuestionId = Typedef!(long, long.init, "QuestionId");
alias StudentId = Typedef!(long, long.init, "StudentId");
struct MyStuff
{
QuestionId q;
StudentId s;
}
void main()
{
import std.csv, std.stdio, std.algorithm, std.range;
File("file.csv").byLine.joiner("\n").csvReader!(MyStuff)(null).array;
}
This doesn't work. But if MyStuff is defined as: struct MyStuff {
int q, s; }, then it works.
Any ideas?