Loading...
Searching...
No Matches
ucxx::MemoryHandleBuilder Class Referencefinal

Builder class for constructing std::shared_ptr<ucxx::MemoryHandle> objects. More...

#include <memory_handle_builder.h>

Public Member Functions

 MemoryHandleBuilder (std::shared_ptr< Context > context, size_t size)
 Constructor for MemoryHandleBuilder.
 ~MemoryHandleBuilder ()
 MemoryHandleBuilder destructor.
 MemoryHandleBuilder (const MemoryHandleBuilder &other)
 Copy constructor (deep-copies internal state).
MemoryHandleBuilder & operator= (const MemoryHandleBuilder &other)
 Copy assignment operator (deep-copies internal state).
 MemoryHandleBuilder (MemoryHandleBuilder &&) noexcept
 Move constructor.
MemoryHandleBuilder & operator= (MemoryHandleBuilder &&) noexcept
 Move assignment operator.
 operator std::shared_ptr< MemoryHandle > ()
 Implicit conversion operator to shared_ptr<MemoryHandle>.
MemoryHandleBuilder & buffer (void *buffer)
 Configure the buffer to map.
MemoryHandleBuilder & memoryType (ucs_memory_type_t memoryType)
 Configure the mapped memory type.
std::shared_ptr< MemoryHandle > build ()
 Build and return the MemoryHandle.

Detailed Description

Builder class for constructing std::shared_ptr<ucxx::MemoryHandle> objects.

This class implements the builder pattern for std::shared_ptr<ucxx::MemoryHandle>. Construction happens when build() is called or when the builder is implicitly converted to std::shared_ptr<MemoryHandle>.

Constructor & Destructor Documentation

◆ MemoryHandleBuilder()

ucxx::MemoryHandleBuilder::MemoryHandleBuilder ( std::shared_ptr< Context > context,
size_t size )

Constructor for MemoryHandleBuilder.

Parameters
[in]contextparent context where memory is mapped.
[in]sizeminimum size of the memory allocation.

Member Function Documentation

◆ buffer()

MemoryHandleBuilder & ucxx::MemoryHandleBuilder::buffer ( void * buffer)

Configure the buffer to map.

Parameters
[in]bufferpointer to an existing allocation or nullptr to allocate memory.
Returns
Reference to this builder for method chaining.

◆ build()

std::shared_ptr< MemoryHandle > ucxx::MemoryHandleBuilder::build ( )
nodiscard

Build and return the MemoryHandle.

Each call to build() creates a new MemoryHandle instance with the current parameters.

Returns
The constructed shared_ptr<ucxx::MemoryHandle> object.

◆ memoryType()

MemoryHandleBuilder & ucxx::MemoryHandleBuilder::memoryType ( ucs_memory_type_t memoryType)

Configure the mapped memory type.

Parameters
[in]memoryTypethe type of memory the handle points to.
Returns
Reference to this builder for method chaining.

◆ operator std::shared_ptr< MemoryHandle >()

ucxx::MemoryHandleBuilder::operator std::shared_ptr< MemoryHandle > ( )

Implicit conversion operator to shared_ptr<MemoryHandle>.

Returns
The constructed shared_ptr<ucxx::MemoryHandle> object.

The documentation for this class was generated from the following file: