#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> { iferr_scope ; const BaseArray<Char>& array = copy.Get() iferr_return ; return _stream.Write(array.GetFirst(), array.GetCount()); }, _queue); } |
公共成员函数 |
|
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.
T _value | mutable private |
T* _ptr | private |