szhorvat / LTemplate

Extend Mathematica with LibraryLink and C++ with ease
57 stars 10 forks source link
c-plus-plus interface librarylink mathematica template wolfram-language

LTemplate

Note: If you plan to use LTemplate, please send me an email and let me know about your use case. If I know how people use it, I can be more careful with breaking changes.


LTemplate is a package that simplifies extending Mathematica through its LibraryLink C/C++ API. It automates the generation of boilerplate code, the loading of library functions, and using managed library expressions. LTemplate is designed to be embeddable into a larger Mathematica application that relies on LibraryLink, but it can also be used standalone in an interactive session.

Installation

Drop the LTemplate directory in the directory opened by SystemOpen@FileNameJoin[{$UserBaseDirectory, "Applications"}].

Getting started

See Documentation/LTemplateTutorial.nb for a short introduction, and Documentation/Examples for many additional examples.

The skeleton-project directory contains a sample project that embeds LTemplate. Use this as a starting point for your own LTemplate-based package.

For an example of a mature application that uses and embeds LTemplate, see IGraph/M.

See CHANGELOG.md for a list of changes between versions.