DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl::detail::SYCLMemObjI Class Referenceabstract

#include <CL/sycl/detail/sycl_mem_obj_i.hpp>

Inheritance diagram for cl::sycl::detail::SYCLMemObjI:
Collaboration diagram for cl::sycl::detail::SYCLMemObjI:

Public Types

enum  MemObjType { Buffer = 0, Image = 1, Undefined = 2 }

Public Member Functions

virtual ~SYCLMemObjI ()=default
virtual MemObjType getType () const =0
virtual void * allocateMem (ContextImplPtr Context, bool InitFromUserData, void *HostPtr, RT::PiEvent &InteropEvent)=0
virtual void * allocateHostMem ()=0
virtual void releaseMem (ContextImplPtr Context, void *Ptr)=0
virtual void releaseHostMem (void *Ptr)=0
virtual size_t getSize () const =0
virtual ContextImplPtr getInteropContext () const =0

Protected Attributes

std::shared_ptr< MemObjRecordMRecord


class Scheduler
class ExecCGCommand

Detailed Description

Definition at line 28 of file sycl_mem_obj_i.hpp.

Member Enumeration Documentation

◆ MemObjType


Definition at line 32 of file sycl_mem_obj_i.hpp.

Constructor & Destructor Documentation

◆ ~SYCLMemObjI()

virtual cl::sycl::detail::SYCLMemObjI::~SYCLMemObjI ( )

Member Function Documentation

◆ allocateHostMem()

virtual void* cl::sycl::detail::SYCLMemObjI::allocateHostMem ( )
pure virtual

◆ allocateMem()

virtual void* cl::sycl::detail::SYCLMemObjI::allocateMem ( ContextImplPtr  Context,
bool  InitFromUserData,
void *  HostPtr,
RT::PiEvent InteropEvent 
pure virtual

◆ getInteropContext()

virtual ContextImplPtr cl::sycl::detail::SYCLMemObjI::getInteropContext ( ) const
pure virtual

◆ getSize()

virtual size_t cl::sycl::detail::SYCLMemObjI::getSize ( ) const
pure virtual

◆ getType()

◆ releaseHostMem()

virtual void cl::sycl::detail::SYCLMemObjI::releaseHostMem ( void *  Ptr)
pure virtual

◆ releaseMem()

virtual void cl::sycl::detail::SYCLMemObjI::releaseMem ( ContextImplPtr  Context,
void *  Ptr 
pure virtual

Friends And Related Function Documentation

◆ ExecCGCommand

friend class ExecCGCommand

Definition at line 76 of file sycl_mem_obj_i.hpp.

◆ Scheduler

friend class Scheduler

Definition at line 75 of file sycl_mem_obj_i.hpp.

Member Data Documentation

◆ MRecord

The documentation for this class was generated from the following file: