#include "cbl/CBLBase.h"
#include "cbl/CBLQueryTypes.h"
#include "fleece/slice.hh"
#include <algorithm>
#include <functional>
#include <cassert>
#include <memory>
#include <stdexcept>
#include <utility>
Go to the source code of this file.
◆ CBL_REFCOUNTED_BOILERPLATE
| #define CBL_REFCOUNTED_BOILERPLATE |
( |
| CLASS, |
|
|
| SUPER, |
|
|
| C_TYPE ) |
Value:
public: \ \
CLASS(const CLASS &other) noexcept :SUPER(other) { } \ \
CLASS(CLASS &&other) noexcept :SUPER((SUPER&&)other) { } \ \
CLASS& operator=(const CLASS &other) noexcept {SUPER::operator=(other); return *this;} \ \
CLASS& operator=(CLASS &&other) noexcept {SUPER::operator=((SUPER&&)other); return *this;}
#define CBL_REFCOUNTED_WITHOUT_COPY_MOVE_BOILERPLATE(CLASS, SUPER, C_TYPE)
Definition Base.hh:140
◆ CBL_REFCOUNTED_WITHOUT_COPY_MOVE_BOILERPLATE
| #define CBL_REFCOUNTED_WITHOUT_COPY_MOVE_BOILERPLATE |
( |
| CLASS, |
|
|
| SUPER, |
|
|
| C_TYPE ) |
Value:public: \ \
CLASS() noexcept :SUPER() { } \ \
CLASS& operator=(std::nullptr_t) {clear(); return *this;} \ \
bool valid() const {return RefCounted::valid();} \ \
explicit operator bool() const {return valid();} \ \
bool operator==(
const CLASS &other)
const {
return _ref == other._ref;} \ \
bool operator!=(const CLASS &other) const {return _ref != other._ref;} \ \
protected: \ \
explicit CLASS(C_TYPE* _cbl_nullable ref) :SUPER((
CBLRefCounted*)ref) { }
bool operator==(const CBLError &e1, const CBLError &e2)
Equality for two CBLError values.
Definition Base.hh:39
struct CBLRefCounted CBLRefCounted
◆ operator==()
Equality for two CBLError values.
Two errors are equal when both indicate success (code == 0), or when they share the same domain and code.