#include <movecopywrapper.h>
This wrapper helps to capture objects which require CopyFrom() in a lambda. The get method will return an error if copying the object into the wrapper failed. Of course move construction and assignment are supported too.
| T | Type of object to wrapped.  JobRef EnqueueSendJob(const BaseArray<Char>& jobdata) 
{ 
  return JobRef::Enqueue( 
    [this, copy = CopyWrapper<BaseArray<Char>>(jobdata)]() -> Result<void> 
    { 
      const BaseArray<Char>& array = copy.Get() iferr_return; 
      return _stream.Write(array.GetFirst(), array.GetCount()); 
    }, 
    _queue); 
} 
JobRef & Enqueue(JobQueueInterface *queue=JOBQUEUE_CURRENT) Enqueues the job the ref points to. THREADSAFE. Definition: job.h:1377  | 
Public Member Functions | |
| CopyWrapper () | |
| CopyWrapper (const T &src) | |
| CopyWrapper (T &&src) | |
| CopyWrapper (const CopyWrapper &src) | |
| CopyWrapper (CopyWrapper &&src) | |
| CopyWrapper & | operator= (const CopyWrapper &src) | 
| CopyWrapper & | operator= (CopyWrapper &&src) | 
| ResultRef< const T > | Get () const | 
| ResultRef< T > | Get () | 
Private Attributes | |
| T | _value | 
| T * | _ptr | 
| CopyWrapper | ( | ) | 
      
  | 
  explicit | 
Copies the source object into the wrapper. Get() will return an error if the copy failed.
| [in] | src | Object to be copied into the wrapper. | 
      
  | 
  explicit | 
Moves the source object into the wrapper. Following Get()s will succeed because the move can't fail.
| [in] | src | Object to be moved into the wrapper. | 
| CopyWrapper | ( | const CopyWrapper< T > & | src | ) | 
Copies the source wrapper. Get() will return an error if the copy failed.
| [in] | src | Wrapper to be copied. | 
| CopyWrapper | ( | CopyWrapper< T > && | src | ) | 
Moves the source wrapper. Following Get()s will succeed because the move can't fail.
| [in] | src | Wrapper to be moved. | 
| CopyWrapper& operator= | ( | const CopyWrapper< T > & | src | ) | 
Copy assigns the source wrapper. Get() will return an error if the copy failed.
| [in] | src | Wrapper to be copied. | 
| CopyWrapper& operator= | ( | CopyWrapper< T > && | src | ) | 
Move assign the source wrapper. Following Get()s will succeed because the move can't fail.
| [in] | src | Wrapper to be moved. | 
| ResultRef<const T> Get | ( | ) | const | 
Returns a reference to the wrapped object if the assignment or construction of the wrapper was successful.
| ResultRef<T> Get | ( | ) | 
Returns a reference to the wrapped object if the assignment or construction of the wrapper was successful.
      
  | 
  mutableprivate | 
      
  | 
  private |