10#include <ucxx/typedefs.h>
44template <
typename Derived>
60 if (
_built)
throw std::logic_error(
"Builder::build() called more than once");
89 return static_cast<Derived&
>(*this);
101 return static_cast<Derived&&
>(*this);
114template <
typename Derived>
130 return static_cast<Derived&
>(*this);
142 return static_cast<Derived&&
>(*this);
154 return static_cast<Derived&
>(*this);
166 return static_cast<Derived&&
>(*this);
void markBuilt()
Assert that build() has not been called yet, then mark as built.
Definition request_builder_base.h:58
bool _built
Whether build() has already been called.
Definition request_builder_base.h:48
RequestBuilderBase(RequestBuilderBase &&) noexcept=default
Move constructor.
bool _enablePythonFuture
Enable Python future support.
Definition request_builder_base.h:47
RequestBuilderBase(const RequestBuilderBase &)=delete
Copy constructor disabled to prevent duplicate request submissions.
Derived && pythonFuture(bool enable=true) &&
Configure Python future support on a temporary builder.
Definition request_builder_base.h:98
Derived & pythonFuture(bool enable=true) &
Configure Python future support.
Definition request_builder_base.h:86
RequestBuilderBase()=default
Default constructor.
RequestBuilderBase & operator=(const RequestBuilderBase &)=delete
Copy assignment disabled to prevent duplicate request submissions.
CRTP base for request builders that support completion callbacks.
Definition request_builder_base.h:115
Derived && callbackFunction(RequestCallbackUserFunction fn) &&
Set the user-defined callback function on a temporary builder.
Definition request_builder_base.h:139
RequestCallbackUserFunction _callbackFunction
User callback on completion.
Definition request_builder_base.h:117
Derived & callbackData(RequestCallbackUserData data) &
Set the user-defined data to pass to the callback function.
Definition request_builder_base.h:151
Derived & callbackFunction(RequestCallbackUserFunction fn) &
Set the user-defined callback function to call upon completion.
Definition request_builder_base.h:127
RequestCallbackUserData _callbackData
Data passed to callback.
Definition request_builder_base.h:118
Derived && callbackData(RequestCallbackUserData data) &&
Set the user-defined data to pass to the callback function on a temporary builder.
Definition request_builder_base.h:163
std::function< void(ucs_status_t, std::shared_ptr< void >)> RequestCallbackUserFunction
A user-defined function to execute as part of a ucxx::Request callback.
Definition typedefs.h:97
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition typedefs.h:105