101 using CreationPattern_t = Creation<DerivedClass, ErrorType>;
102 using result_t = iox::cxx::expected<DerivedClass, ErrorType>;
103 using errorType_t = ErrorType;
111 template <
typename... Targs>
112 static result_t
create(Targs&&... args)
noexcept;
118 static result_t
verify(DerivedClass&& newObject)
noexcept;
127 template <
typename... Targs>
128 static iox::cxx::expected<ErrorType>
placementCreate(
void*
const memory, Targs&&... args)
noexcept;
130 Creation() noexcept = default;
131 Creation(Creation&& rhs) noexcept;
133 Creation& operator=(Creation&& rhs) noexcept;
134 Creation(const Creation& rhs) noexcept = default;
135 Creation& operator=(const Creation& rhs) noexcept = default;
141 bool m_isInitialized{
false};
142 ErrorType m_errorValue;
static iox::cxx::expected< ErrorType > placementCreate(void *const memory, Targs &&... args) noexcept
factory method which guarantees that either a working object is produced or an error value describing...