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
memory_handle_builder.h
1
5
#pragma once
6
7
#include <cstddef>
8
#include <memory>
9
#include <utility>
10
11
#include <ucs/memory/memory_type.h>
12
13
namespace
ucxx
{
14
15
class
Context
;
16
class
MemoryHandle
;
17
25
class
MemoryHandleBuilder
final {
26
public
:
33
MemoryHandleBuilder
(std::shared_ptr<Context> context,
size_t
size);
34
36
~MemoryHandleBuilder
();
37
39
MemoryHandleBuilder
(
const
MemoryHandleBuilder
& other);
41
MemoryHandleBuilder
&
operator=
(
const
MemoryHandleBuilder
& other);
43
MemoryHandleBuilder
(
MemoryHandleBuilder
&&) noexcept;
45
MemoryHandleBuilder
& operator=(
MemoryHandleBuilder
&&) noexcept;
46
52
operator std::shared_ptr<
MemoryHandle
>();
53
60
MemoryHandleBuilder
&
buffer
(
void
*
buffer
);
61
68
MemoryHandleBuilder
&
memoryType
(ucs_memory_type_t
memoryType
);
69
77
[[nodiscard]] std::shared_ptr<
MemoryHandle
>
build
();
78
79
private:
80
struct Impl;
81
std::unique_ptr<Impl> _impl;
82
};
83
84
}
// namespace ucxx
ucxx::Context
Component encapsulating the UCP context.
Definition
context.h:35
ucxx::MemoryHandleBuilder::MemoryHandleBuilder
MemoryHandleBuilder(MemoryHandleBuilder &&) noexcept
Move constructor.
ucxx::MemoryHandleBuilder::MemoryHandleBuilder
MemoryHandleBuilder(const MemoryHandleBuilder &other)
Copy constructor (deep-copies internal state).
ucxx::MemoryHandleBuilder::memoryType
MemoryHandleBuilder & memoryType(ucs_memory_type_t memoryType)
Configure the mapped memory type.
ucxx::MemoryHandleBuilder::buffer
MemoryHandleBuilder & buffer(void *buffer)
Configure the buffer to map.
ucxx::MemoryHandleBuilder::build
std::shared_ptr< MemoryHandle > build()
Build and return the MemoryHandle.
ucxx::MemoryHandleBuilder::MemoryHandleBuilder
MemoryHandleBuilder(std::shared_ptr< Context > context, size_t size)
Constructor for MemoryHandleBuilder.
ucxx::MemoryHandleBuilder::~MemoryHandleBuilder
~MemoryHandleBuilder()
MemoryHandleBuilder destructor.
ucxx::MemoryHandleBuilder::operator=
MemoryHandleBuilder & operator=(const MemoryHandleBuilder &other)
Copy assignment operator (deep-copies internal state).
ucxx::MemoryHandle
Component holding a UCP memory handle.
Definition
memory_handle.h:28
ucxx
Definition
address.h:16
Generated by
1.18.0