This repository has been archived by the owner on Mar 28, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Ethan Watson edited this page Nov 27, 2016
·
1 revision
Binderoo is a rapid iteration framework designed to expose functionality between languages. Initial support is for C/C++ codebases, using D as the rapid iteration language.
Using Binderoo solely for easy communication with a C/C++ codebase is very easy. Take a really simple C++ class for example. Getting access to it starts with a definition like this:
module somecclass;
public import binderoo.binding.binding;
struct SomeCClass
{
mixin CPPStructBase!( CPPMethods );
extern( C++ ) struct CPPMethods
{
@BindVirtual void aVirtualFunction();
@BindVirtual bool aVirtualFunctionThatReturnsBool();
@BindVirtual void aPolymorphicVirtualFunction();
@BindVirtual void aPolymorphicVirtualFunction( int aParameter );
@BindMethod void aMethod();
@BindMethod bool aMethodThatReturnsBool();
@BindMethod void aPolymorphicMethod();
@BindMethod void aPolymorphicMethod( int aParameter );
}
int aValue;
float anotherValue;
bool yetAnotherValue;
}
mixin BindModule!( 1 );
But that's just scratching at the surface of what you can do with Binderoo. This Wiki will serve both as documentation and a tutorial on how to use the system.