9#ifndef CAMCOM_GENICAM_ARAVIS_RAII_HPP
10#define CAMCOM_GENICAM_ARAVIS_RAII_HPP
46 explicit operator bool()
const {
return error !=
nullptr; }
71 ptr_ = std::exchange(o.ptr_,
nullptr);
76 T*
get()
const {
return ptr_; }
77 T*
release() {
return std::exchange(ptr_,
nullptr); }
80 explicit operator bool()
const {
return ptr_ !=
nullptr; }
struct _ArvBuffer ArvBuffer
Definition aravis_raii.hpp:25
struct _ArvStream ArvStream
Definition aravis_raii.hpp:24
struct _ArvDevice ArvDevice
Definition aravis_raii.hpp:23
struct _GError GError
Definition aravis_raii.hpp:26
struct _GInetAddress GInetAddress
Definition aravis_raii.hpp:27
Definition aravis_raii.hpp:55
~GObjectGuard()
Definition aravis_raii.cpp:37
GObjectGuard(const GObjectGuard &)=delete
GObjectGuard(T *p)
Definition aravis_raii.hpp:58
GObjectGuard & operator=(GObjectGuard &&o) noexcept
Definition aravis_raii.hpp:68
void reset(T *p=nullptr)
Definition aravis_raii.cpp:42
T * release()
Definition aravis_raii.hpp:77
GObjectGuard(GObjectGuard &&o) noexcept
Definition aravis_raii.hpp:67
T * get() const
Definition aravis_raii.hpp:76
GObjectGuard & operator=(const GObjectGuard &)=delete
Definition adapter.cpp:28
GObjectGuard< ArvBuffer > BufferGuard
Definition aravis_raii.hpp:89
GObjectGuard< ArvStream > StreamGuard
Definition aravis_raii.hpp:88
GObjectGuard< ArvDevice > DeviceGuard
Definition aravis_raii.hpp:87
GObjectGuard< GInetAddress > InetAddrGuard
Definition aravis_raii.hpp:90
std::string message() const
Extract error message (empty if no error)
Definition aravis_raii.cpp:25
GError * error
Definition aravis_raii.hpp:33
GErrorGuard & operator=(const GErrorGuard &)=delete
GError ** ptr()
Pass to Aravis functions expecting GError**.
Definition aravis_raii.hpp:43
~GErrorGuard()
Definition aravis_raii.cpp:19
GErrorGuard(const GErrorGuard &)=delete