ontrol of memory allocation does not have to originate from Regular scope.
For example, we might need to allocate temporary memory. It may be
inconvenient to pass it from the Regular scope. The classes Host2 and Device2
handle such possibility. These classes are implemented in the header file
The classes Host2 and Device2 are designed to live in Host scope. These have
similar interface to the pair Host and Device. There are several differences.
Host2 and Device2 are not copyable and do not have dependencies on std and
boost libraries. Device2 may be initialized with an instance of DeviceHandler.
In such situation only, the Device2 does not maintain ownership of the
referenced memory block.