15 #define LIBCAMERA_DISABLE_COPY(klass) \ 16 klass(const klass &) = delete; \ 17 klass &operator=(const klass &) = delete; 19 #define LIBCAMERA_DISABLE_MOVE(klass) \ 20 klass(klass &&) = delete; \ 21 klass &operator=(klass &&) = delete; 23 #define LIBCAMERA_DISABLE_COPY_AND_MOVE(klass) \ 24 LIBCAMERA_DISABLE_COPY(klass) \ 25 LIBCAMERA_DISABLE_MOVE(klass) 27 #define LIBCAMERA_DISABLE_COPY(klass) 28 #define LIBCAMERA_DISABLE_MOVE(klass) 29 #define LIBCAMERA_DISABLE_COPY_AND_MOVE(klass) 33 #define LIBCAMERA_DECLARE_PRIVATE() \ 36 friend class Private; \ 37 template <bool B = true> \ 38 const Private *_d() const \ 40 return Extensible::_d<Private>(); \ 42 template <bool B = true> \ 45 return Extensible::_d<Private>(); \ 48 #define LIBCAMERA_DECLARE_PUBLIC(klass) \ 52 #define LIBCAMERA_O_PTR() \ 56 #define LIBCAMERA_DECLARE_PRIVATE() 57 #define LIBCAMERA_DECLARE_PUBLIC(klass) 58 #define LIBCAMERA_O_PTR() 74 return static_cast<const T *
>(o_);
80 return static_cast<T *
>(o_);
96 return static_cast<const T *
>(d_.get());
102 return static_cast<T *
>(d_.get());
106 const std::unique_ptr<Private> d_;
Base class for private data managed through a d-pointer.
Definition: class.h:64
const T * _d() const
Retrieve the private data instance.
Definition: class.h:94
Top-level libcamera namespace.
Definition: backtrace.h:17
Private()
Construct an instance of an Extensible class private data.
Definition: class.cpp:194
T * _d()
Retrieve the private data instance.
Definition: class.h:100
Base class to manage private data through a d-pointer.
Definition: class.h:61