|
Boost : |
From: Matthew Vogt (mattvogt_at_[hidden])
Date: 2005-02-01 22:07:32
> Yes, but I haven't had much time to work on it. See
> http://tinyurl.com/6w59y.
Ok, thanks.
> > I find all of these distrurbingly reminiscent of COM interfaces...
>
> I intended the reminiscence but not the disturbance. :-)
Isn't it interesting that the mere use of a naming convention can evoke
trepidation of the coding style you associate with that naming
convention?
Anyhow, my problem with the macro-based IDL is that it obscures the
function signatures so badly, partly by separating the components so I
don't recognise them as a signature, and partly by encasing them in a
dense text block.
I think that this:
BOOST_IDL_BEGIN(Interface)
BOOST_IDL_CONST_FN2(print, void, ostream&, int)
BOOST_IDL_END(Interface)
is readability-wise so far away from:
struct Interface
{
void print(ostream&, int) const;
};
that it is an enormous hurdle for BIL to overcome.
The template-based IDL theorised in your docs seems much closer to what
I would like:
typedef interface<
function<print, void (ostream&, int)> const
> Interface;
There doesn't seem to be much support for this in the tarball, though.
Do you have any experimental code for defining these interfaces? If
not, do you forsee major issues in implementing them later?
Thanks,
Matt
-- Matthew Vogt mattvogt_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk