This is a very nice library! I think I know where I’ll use it. It’s ability to 
add require() to a v8 context is very useful.
> Am 06.02.2015 um 07:58 schrieb Pavel Medvedev <[email protected]>:
> 
> Hi there,
> 
> I have updated a new version of v8pp, a library to make bindings from C++ 
> code into V8 JavaScript engine:
> 
>   https://github.com/pmed/v8pp <https://github.com/pmed/v8pp>
> 
> The new library version supports V8 versions after 3.28 with v8::Isolate 
> usage in API. Now it doesn't depend on Boost libraries. Only modern C++ 
> compiler is required, such as Visual C++ 2013, GCC 4.8, Clang.
> 
> v8pp might  be useful to create bindings in node.js and io.js addons:
> 
> int var;
> int get_var() { return var + 1; }
> void set_var(int x) { var = x + 1; }
> 
> struct X
> {
>     X(int v, bool u) : var(v) {}
> 
>     int var;
> 
>     int get() const { return var; }
>     void set(int x) { var = x; }
> };
> 
> void RegisterModule(v8::Handle<v8::Object> exports)
> {
>     v8pp::module addon(v8::Isolate::GetCurrent());
>     
>     addon
>         // set read-only attribute
>        .set_const("PI", 3.1415)
>         // set variable available in JavaScript
>         .set("var", var)
>         // set function get_var as `fun`
>         .set("fun", &get_var)
>         // set property `prop` with getter get_var() and setter set_var()
>         .set("prop", property(get_var, set_var))
>         
>     //  class bindings v8pp::class_<X> X_class(isolate);
>     X_class
>         // specify X constructor signature
>         .ctor<int, bool>()
>         // bind variable
>         .set("var", &X::var)
>         // bind function
>         .set("fun", &X::set)
>         // bind read-only property
>         .set("prop", property(&X::get)) 
>  
>     addon .set("X", X_class);
> 
>     // set bindings as exports object prototype
>     exports->SetPrototype(addon.new_instance());
> }
> 
> NODE_MODULE(addon, RegisterModule)
> 
> 
> -- 
> Job board: http://jobs.nodejs.org/ <http://jobs.nodejs.org/>
> New group rules: 
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md 
> <https://gist.github.com/othiym23/9886289#file-moderation-policy-md>
> Old group rules: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines 
> <https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/nodejs/c22e78cc-3d3f-467e-b82b-c5e84b000f5a%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/nodejs/c22e78cc-3d3f-467e-b82b-c5e84b000f5a%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/29941222-C4CA-4949-9443-5CEF796788CD%40googlemail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to