ArmNN
 22.08
MockMemoryManager Class Reference

#include <MockMemoryManager.hpp>

Inheritance diagram for MockMemoryManager:
IMemoryManager

Classes

class  Pool
 

Public Member Functions

 MockMemoryManager ()
 
virtual ~MockMemoryManager ()
 
PoolManage (unsigned int numBytes)
 
void Allocate (Pool *pool)
 
void * GetPointer (Pool *pool)
 
void Acquire () override
 
void Release () override
 
- Public Member Functions inherited from IMemoryManager
virtual ~IMemoryManager ()
 

Additional Inherited Members

- Protected Member Functions inherited from IMemoryManager
 IMemoryManager ()
 

Detailed Description

Definition at line 16 of file MockMemoryManager.hpp.

Constructor & Destructor Documentation

◆ MockMemoryManager()

Definition at line 11 of file MockMemoryManager.cpp.

12 {}

◆ ~MockMemoryManager()

~MockMemoryManager ( )
virtual

Definition at line 14 of file MockMemoryManager.cpp.

15 {}

Member Function Documentation

◆ Acquire()

void Acquire ( )
overridevirtual

Implements IMemoryManager.

Definition at line 43 of file MockMemoryManager.cpp.

44 {
45  for (Pool& pool : m_Pools)
46  {
47  pool.Acquire();
48  }
49 }

◆ Allocate()

void Allocate ( MockMemoryManager::Pool pool)

Definition at line 33 of file MockMemoryManager.cpp.

34 {
35  m_FreePools.push_back(pool);
36 }

◆ GetPointer()

void * GetPointer ( MockMemoryManager::Pool pool)

Definition at line 38 of file MockMemoryManager.cpp.

References MockMemoryManager::Pool::GetPointer().

39 {
40  return pool->GetPointer();
41 }

◆ Manage()

MockMemoryManager::Pool * Manage ( unsigned int  numBytes)

Definition at line 17 of file MockMemoryManager.cpp.

References MockMemoryManager::Pool::Reserve().

18 {
19  if (!m_FreePools.empty())
20  {
21  Pool* res = m_FreePools.back();
22  m_FreePools.pop_back();
23  res->Reserve(numBytes);
24  return res;
25  }
26  else
27  {
28  m_Pools.push_front(Pool(numBytes));
29  return &m_Pools.front();
30  }
31 }

◆ Release()

void Release ( )
overridevirtual

Implements IMemoryManager.

Definition at line 51 of file MockMemoryManager.cpp.

52 {
53  for (Pool& pool : m_Pools)
54  {
55  pool.Release();
56  }
57 }

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