This package aims to provide a Boost. Python-like wrapping for C++ types and functions to Julia. The idea is to write the code for the Julia wrapper in C++, and then use a one-liner on the Julia side to make the wrapped C++ library available there. The mechanism behind this package is that functions and types are registered in C++ code that is compiled into a dynamic library. This dynamic library is then loaded into Julia, where the Julia part of this package uses the data provided through a C interface to generate functions accessible from Julia. The functions are passed to Julia either as raw function pointers (for regular C++ functions that don't need argument or return type conversion) or std::functions (for lambda expressions and automatic conversion of arguments and return types). The Julia side of this package wraps all this into Julia methods automatically.

Features

  • Support for C++ functions, member functions and lambdas
  • Classes with single inheritance, using abstract base classes on the Julia side
  • Trivial C++ classes can be converted to a Julia isbits immutable
  • Template classes map to parametric types, for the instantiations listed in the wrapper
  • Automatic wrapping of default and copy constructor (mapped to copy) if defined on the wrapped C++ class
  • Facilitate calling Julia functions from C++

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow CxxWrap

CxxWrap Web Site

You Might Also Like
Enterprise-Grade Monitoring - Zero Compromises Icon
Enterprise-Grade Monitoring - Zero Compromises

PRTG delivers deep visibility and proactive alerts for complex IT. Monitor, analyze, and optimize - all in one platform.

Managing a large, distributed IT environment demands more than basic monitoring. PRTG provides a unified view of your entire infrastructure - across sites, clouds, and hybrid setups. Advanced analytics, customizable dashboards, and granular access controls empower your team to detect issues early and respond fast. Automate reporting, ensure compliance, and scale effortlessly as your network grows. With PRTG, you get reliability, flexibility, and the insights you need to keep your business running at peak performance.
Start Your Free PRTG Trial
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of CxxWrap!

Additional Project Details

Programming Language

Julia

Related Categories

Julia Data Visualization Software

Registered

2023-11-09