44 CFunctorObject Initializer,
47 typename Result = std::decay_t<ResultArg>
49 requires std::is_lvalue_reference_v<ResultArg>
50 Result
Construct(Initializer&& init, Args&&... args)
52 Result result {Forward<Args>(args)...};
80 CFunctorObject Initializer,
83 typename Result = std::decay_t<ResultArg>
85 requires std::is_lvalue_reference_v<ResultArg>
88 Result* result =
new Result {Forward<Args>(args)...};
98 template <CDefaultInitializable T>
99 requires (!CCopyable<T>)
110 T* operator -> () {
return &Value.Get(); }
111 const T* operator -> ()
const {
return &Value.Get(); }
113 T&
Get() {
return Value.Get(); }
114 const T&
Get()
const {
return Value.Get(); }
116 template <
typename Self>
117 operator typename TCopyQualifiersFromTo<Self, T&>::Type (
this Self&& self) {
return self.Get(); }