diff options
author | David Robillard <d@drobilla.net> | 2017-10-06 12:12:50 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-12-16 11:27:36 +0100 |
commit | b303104b23578cdb27f71589a71f74101080b19c (patch) | |
tree | 9f8a653b474f407263692ae7db4f38db5f95acb7 /raul | |
parent | 4a7bdcc10de06b475a9d52ca1567485e5718eace (diff) | |
download | raul-b303104b23578cdb27f71589a71f74101080b19c.tar.gz raul-b303104b23578cdb27f71589a71f74101080b19c.tar.bz2 raul-b303104b23578cdb27f71589a71f74101080b19c.zip |
Add Managed wrapper for managing arbitrary types
Diffstat (limited to 'raul')
-rw-r--r-- | raul/Maid.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/raul/Maid.hpp b/raul/Maid.hpp index 1bd40a5..73cb82a 100644 --- a/raul/Maid.hpp +++ b/raul/Maid.hpp @@ -48,6 +48,17 @@ public: Disposable* _maid_next; }; + /** Disposable wrapper for any type. */ + template<typename T> + class Managed : public Raul::Maid::Disposable, public T + { + public: + template<typename... Args> + Managed(Args&&... args) + : T(std::forward<Args>(args)...) + {} + }; + /** Deleter for Disposable objects. */ template<typename T> class Disposer { |