Changes between Initial Version and Version 1 of Langbinding/CPPBinding


Ignore:
Timestamp:
Aug 10, 2007, 3:05:57 AM (15 years ago)
Author:
René Rivera
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Langbinding/CPPBinding

    v1 v1  
     1[[PageOutline]]
     2
     3= Language Binding: C++ =
     4
     5The language binding layer takes the interface description given as a binding DSEL and creates the corresponding meta-object binding in C++. This is both generating the C++ code, through template instantiations. And creating an instance of the meta-object binding for other languages to use.
     6
     7== Interface DSEL ==
     8
     9A domain specific embeded language (DSEL) describes and defines the exposed C++ interfaces.
     10
     11  namespace_, module::
     12    Define a namespace scope for definitions.
     13  def::
     14    Declare a binding of a static or global.
     15  class_::
     16    Declare a binding class.
     17  class_::def::
     18    Declare either a value or function member of the class.
     19  class_::def_readwrite::
     20    A readable and writable property.
     21  class_::def_readonly::
     22    A readable, only, property.
     23  class_::property::
     24    A custom read and/or write property.
     25  class_::enum_::
     26    An enumeration within the class.
     27  class_::scope::
     28    Begin declarations within the class scope.
     29  constructor::
     30    Define a constructor for the class.
     31  self, const_self, other::
     32    Reference to arguments of our own class.
     33  tostring::
     34    Printable representation of the instance.
     35  enum_::
     36    Scope level enumeration.
     37  value::
     38    Value in an enumeration.
     39  operators::
     40    “+”, “-”, “*”, “/”, “==”, “<”, “<=”
     41  Return value policies::
     42    * adopt – Binding language takes ownership of the result object instance.
     43    * dependency – Extends the lifetime of arguments to the result lifetime.
     44    * return_reference_to – Indicates that the result is one of the arguments.
     45    * copy – Indicates that a result should be copied when returned.
     46    * discard_result – Ignores the result, making the exposed function return void.
     47  Parameter policies::
     48    * out_value – Defines arguments that will also be returned, either as part of the result or through a reference argument.
     49    * pure_out_value – An out_value which is not exposed in the function binding.
     50  Storage policies
     51
     52Building of a Meta-Object Binding from the interface description