Clio
develop
The XRP Ledger API server.
Theme:
Default
Round
Robot
Loading...
Searching...
No Matches
ManagedObject.hpp
1
#pragma once
2
3
#include <memory>
4
#include <stdexcept>
5
6
namespace
data::cassandra::impl {
7
8
template
<
typename
Managed>
9
class
ManagedObject {
10
protected
:
11
std::unique_ptr<Managed, void (*)(Managed*)> ptr_;
12
13
public
:
14
template
<
typename
DeleterCallable>
15
ManagedObject(Managed* rawPtr, DeleterCallable deleter) : ptr_{rawPtr, deleter}
16
{
17
if
(rawPtr ==
nullptr
)
18
throw
std::runtime_error(
"Could not create DB object - got nullptr"
);
19
}
20
21
operator
Managed*()
const
22
{
23
return
ptr_.get();
24
}
25
};
26
27
}
// namespace data::cassandra::impl
src
data
cassandra
impl
ManagedObject.hpp
Generated by
1.16.1