Home
libucxx
libucxx
ucxx
nightly (0.53)
nightly (0.53)
stable (0.52)
legacy (0.51)
Toggle main menu visibility
Loading...
Searching...
No Matches
include
ucxx
detail
builder_utils.h
1
5
#pragma once
6
7
#include <memory>
8
18
#define UCXX_BUILDER_PIMPL_DEFAULTS(BuilderClass, TargetClass) \
19
BuilderClass::~BuilderClass() = default; \
20
BuilderClass::BuilderClass(BuilderClass&&) noexcept = default; \
21
BuilderClass& BuilderClass::operator=(BuilderClass&&) noexcept = default; \
22
BuilderClass::BuilderClass(const BuilderClass& other) \
23
: _impl(std::make_unique<Impl>(*other._impl)) \
24
{ \
25
} \
26
BuilderClass& BuilderClass::operator=(const BuilderClass& other) \
27
{ \
28
if (this != &other) _impl = std::make_unique<Impl>(*other._impl); \
29
return *this; \
30
} \
31
BuilderClass::operator std::shared_ptr<TargetClass>() { return build(); }
Generated by
1.18.0