From b1b4973e1e8163a24f0560c1fb8c83b901d05b66 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Tue, 19 Mar 2019 23:49:02 +0100 Subject: Add cppc4group-wrapper for custom tmp memory management --- src/cppc4group.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/cppc4group.hpp') diff --git a/src/cppc4group.hpp b/src/cppc4group.hpp index 78370d9..166fadf 100644 --- a/src/cppc4group.hpp +++ b/src/cppc4group.hpp @@ -4,6 +4,7 @@ #include #include #include +#include class CppC4Group { struct Private; @@ -30,7 +31,18 @@ public: bool official; }; + struct TmpMemory { + using TmpMemoryCleanupCallback = std::function; + + void* memory; + TmpMemoryCleanupCallback cleanup; + void* arg; + + TmpMemory(void* const memory, const TmpMemoryCleanupCallback& cleanup, void* const arg); + }; + public: + using TmpMemoryCallback = std::optional(*)(size_t size); using ReadCallback = bool(*)(const void** const data, size_t* const size, void* const arg); using SetupCallback = bool(*)(void* const arg); @@ -47,6 +59,7 @@ public: }; static void setTmpMemoryStrategy(const TmpMemoryStrategy strategy); + static void setTmpMemoryStrategy(const TmpMemoryCallback callback); public: CppC4Group(); -- cgit v1.2.3-54-g00ecf