Re: Extending std.format.formattedRead
H. S. Teoh: What's the correct way of implementing formattedRead support for user-defined types? I tried overloading the unformatValue() template, but for some reason the compiler doesn't seem to be picking it up. Maybe do you want to open this discussion in the main D newsgroup? I think this is not a very important issue, but it's a nice thing to have. Bye, bearophile
Re: Extending std.format.formattedRead
On Wed, Apr 25, 2012 at 03:42:25AM +0200, Kenji Hara wrote: > On Tuesday, 24 April 2012 at 21:50:03 UTC, H. S. Teoh wrote: > >What's the correct way of implementing formattedRead support for > >user-defined types? I tried overloading the unformatValue() > >template, > >but for some reason the compiler doesn't seem to be picking it up. > > Unfortunately, there is not yet general way. > The definition of unformatValue for user-defined type in different > module isn't considered by std.format module. D's module system is > closed in basic. [...] Does it make sense to add a fromString() method to user-defined types for this? D's toString support is awesome (you can basically call to!string on just about anything and it works). It would be nice to have similar support for the reverse operation. T -- "Life is all a great joke, but only the brave ever get the point." -- Kenneth Rexroth
Re: Extending std.format.formattedRead
On Tuesday, 24 April 2012 at 21:50:03 UTC, H. S. Teoh wrote: What's the correct way of implementing formattedRead support for user-defined types? I tried overloading the unformatValue() template, but for some reason the compiler doesn't seem to be picking it up. Unfortunately, there is not yet general way. The definition of unformatValue for user-defined type in different module isn't considered by std.format module. D's module system is closed in basic. Kenji Hara
Extending std.format.formattedRead
What's the correct way of implementing formattedRead support for user-defined types? I tried overloading the unformatValue() template, but for some reason the compiler doesn't seem to be picking it up. T -- People walk. Computers run.