On Friday, 16 May 2014 at 13:42:30 UTC, Jacob Carlborg wrote:
On 16/05/14 09:58, Dylan Knutson wrote:
Ya know, it might be able to be made into a struct; I'll
fiddle with it
tomorrow. The main reason it was made a class was so .join had
to take a
Table type as its first parameter, and internally Table
implements a
Joinable interface (which is needed for chaining .joins and
propagating
the table name during printing).
Can you do compile time introspection, like ranges do?
Basically check if it has a "join" method.
I've played around with making things structs a bit more, and
have modified regal to have Table and Sql be structs (by having
Sql and the generic Node class wrapped in a tagged union). Making
Table a struct was just a matter of putting some common methods
in a template mixin, and mixin'ing that where appropriate.
New version is at ~master on github and code.dlang.org