2 * Copyright (c) 2022 EfficiOS, inc.
4 * SPDX-License-Identifier: MIT
7 #ifndef BABELTRACE_CPP_COMMON_GLIB_UP_HPP
8 #define BABELTRACE_CPP_COMMON_GLIB_UP_HPP
13 namespace bt2_common {
16 struct GCharDeleter final
18 void operator()(gchar * const p) noexcept
24 } /* namespace internal */
26 using GCharUP = std::unique_ptr<gchar, internal::GCharDeleter>;
30 struct GStringDeleter final
32 void operator()(GString * const str)
34 g_string_free(str, TRUE);
38 } /* namespace internal */
40 using GStringUP = std::unique_ptr<GString, internal::GStringDeleter>;
44 struct GDirDeleter final
46 void operator()(GDir * const dir)
52 } /* namespace internal */
54 using GDirUP = std::unique_ptr<GDir, internal::GDirDeleter>;
58 struct GMappedFileDeleter final
60 void operator()(GMappedFile * const f)
62 g_mapped_file_unref(f);
66 } /* namespace internal */
68 using GMappedFileUP = std::unique_ptr<GMappedFile, internal::GMappedFileDeleter>;
70 } /* namespace bt2_common */
72 #endif /* BABELTRACE_CPP_COMMON_GLIB_UP_HPP */