Loading...
Searching...
No Matches
address_builder.h
1
5#pragma once
6
7#include <memory>
8#include <string_view>
9#include <utility>
10
11namespace ucxx {
12
13class Address;
14class Worker;
15
23class AddressBuilder final {
24 public:
30 explicit AddressBuilder(std::shared_ptr<Worker> worker);
31
37 explicit AddressBuilder(std::string_view addressString);
38
41
49 AddressBuilder& operator=(AddressBuilder&&) noexcept;
50
56 operator std::shared_ptr<Address>();
57
65 [[nodiscard]] std::shared_ptr<Address> build();
66
67 private:
68 struct Impl;
69 std::unique_ptr<Impl> _impl;
70};
71
72} // namespace ucxx
AddressBuilder & operator=(const AddressBuilder &other)
Copy assignment operator (deep-copies internal state).
AddressBuilder(const AddressBuilder &other)
Copy constructor (deep-copies internal state).
AddressBuilder(std::string_view addressString)
Constructor for AddressBuilder from a serialized address string.
AddressBuilder(AddressBuilder &&) noexcept
Move constructor.
~AddressBuilder()
AddressBuilder destructor.
AddressBuilder(std::shared_ptr< Worker > worker)
Constructor for AddressBuilder from a worker.
std::shared_ptr< Address > build()
Build and return the Address.
Component encapsulating the address of a UCP worker.
Definition address.h:26
Component encapsulating a UCP worker.
Definition worker.h:62
Definition address.h:16