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:65
Private()
Construct an instance of an Extensible class private data.
Definition: class.cpp:194
Base class to manage private data through a d-pointer.
Definition: class.h:62
T * _d()
Retrieve the private data instance.
Definition: class.h:100
const T * _d() const
Retrieve the private data instance.
Definition: class.h:94
Extensible(std::unique_ptr< Private > d)
Construct an instance of an Extensible class.
Definition: class.cpp:154
Top-level libcamera namespace.
Definition: backtrace.h:17