varargs when they're not all the same type?

Andy Valencia dont at spam.me
Sat Mar 16 23:04:58 UTC 2024


On Friday, 15 March 2024 at 00:11:11 UTC, Andy Valencia wrote:

(varargs & friends)

> Which statement leads me to section 77.2 of "Programming in D", 
> and now I am deep into the mechanisms behind what you have very 
> kindly shared.  Thank you once more.

As some fruits of my labors here, below is a link to a "fmt" 
module which does C-style formatting.  It supports int/long 
signed/unsigned, right/left padding and zero padding, plus 
strings (w. padding).  It's memory and type safe; I ended up 
using unions to tabulate the arguments as I need to access them 
as an array (rather than walking them--I'm walking the format 
string instead).  It adds 6k to an executable, which means dlang 
will work out fine for all of my smaller scripting needs in the 
future.

Calls look like:

auto s = fmt("%d %u - %20s", 123, 456, "Hi, Mom");

https://sources.vsta.org:7100/dlang/file?name=fmt.d&ci=tip

Comments are welcome!  I'd post here, but it seems a little long 
for that?

Andy



More information about the Digitalmars-d-learn mailing list