Open Lighting Architecture: include/ola/util/Deleter.h Source File

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Deleter.h
1/*
2 * This library is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU Lesser General Public
4 * License as published by the Free Software Foundation; either
5 * version 2.1 of the License, or (at your option) any later version.
6 *
7 * This library is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * Lesser General Public License for more details.
11 *
12 * You should have received a copy of the GNU Lesser General Public
13 * License along with this library; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 *
16 * Deleter.h
17 * Asynchronous deletion of pointers.
18 */
19
20#ifndef INCLUDE_OLA_UTIL_DELETER_H_
21#define INCLUDE_OLA_UTIL_DELETER_H_
22
23#include <ola/Callback.h>
24
25namespace ola {
26
32template <typename T>
33 void Deleter(T* t) {
34 delete t;
35}
36
44template <typename T>
45 SingleUseCallback0<void>* DeletePointerCallback(T* t) {
46 return NewSingleCallback<void>(Deleter, t);
47}
48
49} // namespace ola
50#endif // INCLUDE_OLA_UTIL_DELETER_H_
Callback.h
ola::SingleUseCallback0
A 0 argument callback which deletes itself after it's run.
Definition Callback.h:141
ola::NewSingleCallback
SingleUseCallback0< ReturnType > * NewSingleCallback(ReturnType(*callback)())
A helper function to create a new SingleUseCallback with 0 create-time arguments and 0 execution time...
Definition Callback.h:194
ola
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
ola::Deleter
void Deleter(T *t)
Delete a pointer.
Definition Deleter.h:33
ola::DeletePointerCallback
SingleUseCallback0< void > * DeletePointerCallback(T *t)
Create a callback that deletes the object.
Definition Deleter.h:45