Providing custom formatting without importing half of phobos.
H. S. Teoh via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Nov 9 08:07:23 PST 2015
On Mon, Nov 09, 2015 at 03:09:26PM +0000, rumbu via Digitalmars-d-learn wrote:
> Let's say that I'm a library provider and I intend to offer a
> completely new data type suitable for printing with format() or
> writef().
>
> According to this tutorial
> (http://wiki.dlang.org/Defining_custom_print_format_specifiers), to
> achieve this, one must import at least std.format : FormatSpec.
>
> The problem is that just importing FormatSpec will create exactly 88
> phobos dependencies.
>
> Is there any way to provide formatting capabilities for a custom data
> type without importing the FormatSpec thing?
Do you need *custom* format specifiers? If all you need is to be able to
write: format("%s", myData), then the only thing you need to do is to
implement one of the toString methods recognized by format(), such as:
void toString(scope void delegate(const(char)[]) dg) {
...
}
and format() should be able to just pick it up.
T
--
You have to expect the unexpected. -- RL
More information about the Digitalmars-d-learn
mailing list