Public Member Functions | Friends
InferenceEngine::LockedMemory< T > Class Template Reference

This class represents locked memory for read/write memory. More...

#include <ie_locked_memory.hpp>

Inheritance diagram for InferenceEngine::LockedMemory< T >:
Inheritance graph
[legend]
Collaboration diagram for InferenceEngine::LockedMemory< T >:
Collaboration graph
[legend]

Public Member Functions

 LockedMemory (IAllocator *ptr, void *handle, size_t offsetInBytes=0)
 A constructor. More...
 
 LockedMemory (LockedMemory< T > &&)=default
 A default copy constructor, accepting rvalue.
 
 LockedMemory (LockedMemory< T > &&that, size_t offset)
 A default copy constructor that accepts rvalue. More...
 
 LockedMemory (const LockedMemory< T > &)=delete
 A disabled copy constructor for lvalue.
 
 operator T* ()
 Gets a pointer to the stored object. More...
 
 operator const T * () const
 Gets the const pointer to the stored object. More...
 
bool operator== (const T *pointer) const
 Compares stored object with the given one. More...
 
template<class S , typename = std::enable_if<std::is_pointer<S>::value>>
as ()
 Casts stored object to any provided type. More...
 
template<class S , typename = std::enable_if<std::is_pointer<S>::value>>
const S as () const
 Casts stored object to any provided type. More...
 

Friends

bool operator== (const T *pointer, const LockedMemory< T > &lm)
 Compares the object with the one stored in the memory. More...
 

Detailed Description

template<class T>
class InferenceEngine::LockedMemory< T >

This class represents locked memory for read/write memory.

Constructor & Destructor Documentation

◆ LockedMemory() [1/2]

template<class T >
InferenceEngine::LockedMemory< T >::LockedMemory ( IAllocator ptr,
void *  handle,
size_t  offsetInBytes = 0 
)
inline

A constructor.

Parameters
ptrPointer to IAllocator object
handleHandle provided by allocator
offsetInBytesOffset in originally locked region

◆ LockedMemory() [2/2]

template<class T >
InferenceEngine::LockedMemory< T >::LockedMemory ( LockedMemory< T > &&  that,
size_t  offset 
)
inline

A default copy constructor that accepts rvalue.

Also sets the offset value for the new memory object

Parameters
thatRvalue reference for the other LockedMemoryBase instance
offsetOffset value

Member Function Documentation

◆ as() [1/2]

template<class T >
template<class S , typename = std::enable_if<std::is_pointer<S>::value>>
S InferenceEngine::LockedMemory< T >::as ( )
inline

Casts stored object to any provided type.

Uses reinterpret_cast.

Template Parameters
SType to be casted to
Returns
Casted to the given type object

◆ as() [2/2]

template<class T >
template<class S , typename = std::enable_if<std::is_pointer<S>::value>>
const S InferenceEngine::LockedMemory< T >::as ( ) const
inline

Casts stored object to any provided type.

Uses reinterpret_cast.

Template Parameters
SType to be casted to
Returns
Casted to the given type const object

◆ operator const T *()

template<class T >
InferenceEngine::LockedMemory< T >::operator const T * ( ) const
inline

Gets the const pointer to the stored object.

Dereferences from the base class.

Returns
The const pointer object of the given template type.

◆ operator T*()

template<class T >
InferenceEngine::LockedMemory< T >::operator T* ( )
inline

Gets a pointer to the stored object.

Dereferences from the base class.

Returns
The pointer to the object of the given template type

◆ operator==()

template<class T >
bool InferenceEngine::LockedMemory< T >::operator== ( const T *  pointer) const
inline

Compares stored object with the given one.

Parameters
pointerAn pointer to compare with.
Returns
true if objects are equal, false otherwise

Friends And Related Function Documentation

◆ operator==

template<class T >
bool operator== ( const T *  pointer,
const LockedMemory< T > &  lm 
)
friend

Compares the object with the one stored in the memory.

Parameters
pointerA pointer to compare with
lmA compared LockedMemory object
Returns
true if objects are equal, false otherwise

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