Hi James,

i am a big fan of boost, especially when it is present in lieu of
someone writing-their-own-boost :)

do you have any examples of a C++ program that has a single C function
{in my case jsCall_client()} that can be called in javascript by
calling "client()"

w/ a simple example, I can figure out the rest and hopefully this
already exists or can somehow be incorporated into vu8's examples/
howtos

- Jak

On Jan 19, 3:02 am, James Pike <[email protected]> wrote:
> >    On Tue, Jan 18, 2011 at 4:40 PM, Jak Sprats <[1][email protected]>
> >    wrote:
>
> >      does vu8 fulfill all the requirements I wrote in my last reply to
> >      Stephan?
> >      Can you (briefly) compare and contrast vu8's strengths and
> >      weaknesses
> >      compared to v8-juice (e.g. lightweight is GOOD for my use-case).
>
> vu8 is header only with nothing to link against, and should be
> equivalent to hand-writing the code yourself as it uses template
> meta-programming heavily to optimise (the same as v8-juice). The code
> size of vu8 is much smaller than v8-juice in spite of it performing
> the same tasks as it re-uses components from boost. Particularly boost
> fusion, boost mpl and boost preprocessor were very helpful. v8-juice
> replicates many features from boost.mpl and boost.fusion, which removes
> the dependency on boost but increases the size of the source code.
>
> Additionally vu8 will take advantage of C++0x variadic template
> arguments, r-value references and perfect forwarding. These improve
> compile times amongst other things.
>
> >    i have no experience with vu8. i only found out about it via the above
> >    post. From a brief glance, it seems provide more or less the same
> >    features as v8-juice, but vu8 uses of function-pointer-style template
> >    args to make the API more readable (if i had only known how to do that
> >    two years ago...).
>
> I could commit the code to v8-juice to show you if you want. Function
> pointer templates can be passed easily using any type-based template
> parameters, but converting this function pointer into a template
> argument that accepts a member-function pointer requires either C++0x or
> some pre-processor programming. The only tricky bit really is:
>
> template <class T, [dependant on T] Q>
>
> [dependant on T] can be worked out using a meta-program on T to
> determine the type of template parameter Q is (i.e. what kind of
> member function pointer it is). The trouble is without C++0x variadic
> template parameters you need one copy of the meta-function to
> determine [dependant] for each N where N is the number of arguments
> in the member function prototype. You'd need to use preprocessor
> programming to do this without C++0x variadic template arguments, and
> with them the problem is trivial.
>
> If you look at detail/Proto.hpp and Class.hpp in vu8 you'll probably
> get it right away.
>
> --
> +44 (0) 7974 159 643 | [email protected] |http://chilon.net

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to