void gh::mem_cpy( void* dest, void* src, size_t nBytes ) { memcpyFunction functionToCall; if( dest > src ) { functionToCall = &memcpy_backward; } else { functionToCall = &memcpy_forward; } functionToCall( dest, src, nBytes ); }
~lambdaScopeGuard() noexcept { functionToCall(); }
Finally::~Finally() { if (functionToCall) { functionToCall(); } }
Finally& Finally::operator=(Finally&& other) noexcept { if (functionToCall) { functionToCall(); } functionToCall = std::move(other.functionToCall); other.functionToCall = nullptr; return *this; }