@@ -68,12 +68,18 @@ class UniquePointer< Object, Devices::Host > : public SmartPointer
return*(this->pointer);
}
operatorbool()
{
returnthis->pointer;
}
template<typenameDevice=Devices::Host>
constObject&getData()const
{
return*(this->pointer);
}
template<typenameDevice=Devices::Host>
Object&modifyData()
{
return*(this->pointer);
@@ -150,6 +156,11 @@ class UniquePointer< Object, Devices::Cuda > : public SmartPointer
return*(this->pointer);
}
operatorbool()
{
returnthis->pointer;
}
template<typenameDevice=Devices::Host>
constObject&getData()const
{
@@ -160,11 +171,20 @@ class UniquePointer< Object, Devices::Cuda > : public SmartPointer
return*(this->cuda_pointer);
}
template<typenameDevice=Devices::Host>
Object&modifyData()
{
static_assert(std::is_same<Device,Devices::Host>::value||std::is_same<Device,Devices::Cuda>::value,"Only Devices::Host or Devices::Cuda devices are accepted here.");