The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Search results for "distribution:XS-Framework XS::Typemap"

XS::Framework::Manual::Typemap - XS::Framework C++ typemap API reference River stage two • 24 direct dependents • 29 total dependents

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework - Framework for building C++ XS modules with shared code, typemaps and C++ perl API. River stage two • 24 direct dependents • 29 total dependents

To high-level overview please read Shared XS modules manifesto. XS::Framework consists of two major parts. First part, the *C++ perl API* makes it convenient to write C++ code, which iterates with perl. For example, it invokes SvREFCNT_dec in destruc...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::ErrorCode - Perl binding for panda::ErrorCode (nested std::error_code) River stage two • 24 direct dependents • 29 total dependents

This binding is intended for use from XS modules that returns errors as "panda::ErrorCode" objects to perl. It provides them with typemap and Perl interface. See XS::STL::ErrorCode for more info about error codes....

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::SVAPI - XS::Framework C++ typemap API reference River stage two • 24 direct dependents • 29 total dependents

The SVAPI is *C++ perl API* makes it convenient to write C++ XS-code. Out of the box Perl offers only C API for Perl interpreter, SVAPI tries to fill that gap. We assume that all SVAPI belongs to "xs" namespace so we omit "xs::" name resolution, i.e....

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::STL::ErrorCode - Perl binding for C++ STL's std::error_code. River stage two • 24 direct dependents • 29 total dependents

This binding is intended for use from XS modules that returns errors as "std::error_code" objects to perl. It provides them with typemap for "std::error_code" and Perl interface. This module comes with interface to all defined error codes and categor...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe03 - XS::Framework basics River stage two • 24 direct dependents • 29 total dependents

Let's assume that there in an external C++ class which follows singleton pattern. Also, let's assume that it returns "const" singleton, i.e. all methods of C++ class are marked as "const". Here is an example of such class struct TimezoneRecipe03 { co...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework basics River stage two • 24 direct dependents • 29 total dependents

Let's assume that the following type hierarchy in C++: struct Base06 { virtual const char* method() { return "from base"; } virtual ~Base06() { } }; struct Derived06A: public Base06 { virtual const char* method() { return "from derived-A"; } const ch...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe05 - XS::Framework basics River stage two • 24 direct dependents • 29 total dependents

XS::libpanda offers lightweight intrusive smart pointer "iptr". Please, referer intrusive pointer from Boost library for introduction. The easiest way to add refcounted property to C++ class is to inherit from "panda::Refcnt (1)": struct TimezoneReci...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe04 - XS::Framework basics River stage two • 24 direct dependents • 29 total dependents

Let's assume that we have "Timezone" object, which is available via "std::shared_ptr". struct TimezoneRecipe04 { const char* get_name() const { return name.c_str(); } static std::shared_ptr<TimezoneRecipe04> create(const char* name) { return std::mak...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe01 - XS::Framework basics River stage two • 24 direct dependents • 29 total dependents

Let's assume that there is an external C++ class, which we'd like to adapt to Perl. Let it be the simple date structure, which encapsulates Unix epoch: struct DateRecipe01a { DateRecipe01a() { update(false) ; } ~DateRecipe01a() { std::cerr << "~DateR...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework advanced topic River stage two • 24 direct dependents • 29 total dependents

If you have control on C++ API you'd like to port on Perl, or the API was designed for integration with scripting languages, then C++ objects give dedicated or, more commonly, "shared" ownership, i.e. they might be held from a script or from other C+...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework advanced topic River stage two • 24 direct dependents • 29 total dependents

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::Cookbook - XS::Framework cookbook / tutorial River stage two • 24 direct dependents • 29 total dependents

The cookbook consists of recipes, showing the XS::Framework how mechanics works, and, most imporant part, the problems which might be encounted in adopting C++ into perl and how to overcome them. All sources are availalbe in "t/cookbook". Please, use...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework advanced topic River stage two • 24 direct dependents • 29 total dependents

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework advanced topic River stage two • 24 direct dependents • 29 total dependents

Let's assume that C++ API offers the following interface: struct PointRecipe12 { double x; double y; }; struct StatisticsRecipe12 { StatisticsRecipe12(const PointRecipe12& interest_, const std::vector<PointRecipe12>& points_); const PointRecipe12& ne...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework advanced topic River stage two • 24 direct dependents • 29 total dependents

Let's assume the following C++ API: struct PointRecipe13: public panda::Refcnt { double x; double y; PointRecipe13(double xx, double yy): x{xx}, y{yy}{} }; using PointRecipe13SP = panda::iptr<PointRecipe13>; struct Shape13: public panda::Refcnt { siz...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe02 - XS::Framework basics River stage two • 24 direct dependents • 29 total dependents

This recipe expains difference between "ObjectStorageIV" and "ObjectStorageMG" storage policies. The C++ classes, typemaps and XS-adapters are almost the same as in recipe01, i.e. struct DateRecipe02a { DateRecipe02a() { update() ; } void update() { ...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::recipe06 - XS::Framework advanced topic River stage two • 24 direct dependents • 29 total dependents

Let's assume that there is external C++ library (out of our control), which offers the following API: struct DateRecipe10; struct TimezoneRecipe10 { const char* get_name() const { return name.c_str(); } private: TimezoneRecipe10(const char* name_): n...

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC

XS::Framework::Manual::SVAPI::List - XS::Framework List C++ class reference River stage two • 24 direct dependents • 29 total dependents

SYBER/XS-Framework-1.5.6 - 31 Jan 2024 12:52:34 UTC
19 results (0.067 seconds)