reposit

reposit implements a repository in which objects may be instantiated, queried, updated, and destroyed, facilitating deployment of object oriented functionality to procedural platforms such as spreadsheets.

The project also provides a utility to parse the header files of a C++ library and autogenerate the source code for a corresponding Excel addin. This makes it easy to export the functionality of a C++ library to Excel.

reposit has been deployed to the =countify platform, which supports cloud computing, enabling models to be shared online between Excel and the browser. To see a demo of the QuantLib Rate Curve Framework on the cloud, visit the =countify website.


Features

Object Repository

The repository supports a variety of features including:

  • Addins: Bindings to Excel and C++ are provided, allowing you to implement a C++ program which replicates the behavior of your spreadsheet.
  • Inheritance: Inheritance relationships in your C++ library are preserved in the object oriented interface that is exported to Excel.
  • Serialization: Objects in the repository may be serialized, enabling you to save and load the state of your spreadsheet.
  • Conversions: The library supports a wide variety of conversions between C++ and Excel data types.
  • Coercions: You can configure coercions which allow the user to enter data of different types which are automatically converted into the target data type.
  • Enumerations: Enumerations allow the user to enter strings which are mapped to C++ enumerated types or template classes.

SWIG Module

Autogeneration of addin source code is provided by a customized SWIG module. The code generation utility supports the following features:

  • Functions: Simple functions in your C++ library are easily exported to target platforms.
  • Objects: Classes in your C++ library are exported to the C++ and Excel addins. An autogenerated interface to these classes allows end users to construct objects, store them in the repository, and query and update them.
  • Inheritance: Object hierarchies in your C++ library are recognized by the code generation utility and preserved in the functions in the Excel/C++ addins.
  • Serialization: All of the code required to serialize your objects is generated automatically.
  • Overrides: A facility is provided to override the autogenerated code in case you want to customize it.

Download

Below is the link to the index for downloading and installing all of the various configurations of reposit. This includes the binary release of QuantLibXL, plus all source code builds on Windows and Linux:

Download and install reposit »


Documentation

Here are links to the documentation:

Object Repository

The classes in the Object Repository are documented here:

Object Repository version 1.8.0 docs »

SWIG Module

Our copy of SWIG is documented at the links below:

SWIG docs » reposit SWIG Module docs »


Support

If you have a question about the reposit project, you can contact us via the quantlib-users mailing list:

quantlib-users mailing list »

You can search the mailing list archives at this link:

quantlib-users mailing list archives »

License

The reposit SWIG Module is released under the SWIG license.

The reposit Object Repository is released under the QuantLib license.

Complete license and copyright text for the project is provided at the link below:

copyright & license »