2 * Copyright (c) 2023 Philippe Proulx <pproulx@efficios.com>
4 * SPDX-License-Identifier: MIT
7 #ifndef BABELTRACE_CPP_COMMON_BT2_BORROWED_OBJECT_PROXY_HPP
8 #define BABELTRACE_CPP_COMMON_BT2_BORROWED_OBJECT_PROXY_HPP
13 * A proxy containing a valid borrowed object instance of `ObjT` to make
14 * Something::operator->() work when only a libbabeltrace2 object
15 * pointer is available.
17 template <typename ObjT>
18 class BorrowedObjectProxy final
21 explicit BorrowedObjectProxy(typename ObjT::_LibObjPtr libObjPtr) noexcept : _mObj {libObjPtr}
25 const ObjT *operator->() const noexcept
36 #endif /* BABELTRACE_CPP_COMMON_BT2_BORROWED_OBJECT_PROXY_HPP */