HRCore V1.1.0
A High Resolution Calculation Library
Loading...
Searching...
No Matches
HRCore::Storage::VirtualMMU< N > Class Template Reference

An implement of Storage::Interface as Virtual MMU. More...

#include <VirtualMMU.hpp>

Inheritance diagram for HRCore::Storage::VirtualMMU< N >:
Inheritance graph
Collaboration diagram for HRCore::Storage::VirtualMMU< N >:
Collaboration graph

Public Member Functions

virtual item_t at (size_t n)
 Access to storage[pos]. More...
 
virtual item_t begin () override
 Return the first item of storage. More...
 
virtual item_t end () override
 Returns the last item of storage. More...
 
virtual size_t length () override
 Get the length of storage. More...
 
virtual item_t next (item_t cur) override
 Get next item. More...
 
virtual item_t prev (item_t cur) override
 
virtual bool shrink (size_t c) override
 Remove data from the end to shrink the size to a given length. More...
 
virtual bool extend (size_t c) override
 Extend the storage to a given length. More...
 
virtual InterfacenewObject () override
 Get a new object of same type. More...
 
virtual void delObject (const Interface *ptr) override
 Delete a object from newObject() More...
 
virtual item_t begin ()=0
 Return the first item of storage. More...
 
virtual item_t end ()=0
 Returns the last item of storage. More...
 
virtual item_t next (item_t cur)=0
 Get next item. More...
 
virtual item_t prev (item_t cur)=0
 
virtual item_t at (size_t pos)=0
 Access to storage[pos]. More...
 
virtual size_t length ()=0
 Get the length of storage. More...
 
virtual bool shrink (size_t len)=0
 Remove data from the end to shrink the size to a given length. More...
 
virtual bool extend (size_t len)=0
 Extend the storage to a given length. More...
 
virtual InterfacenewObject ()=0
 Get a new object of same type. More...
 
virtual void delObject (const Interface *ptr)=0
 Delete a object from newObject() More...
 

Detailed Description

template<size_t N>
class HRCore::Storage::VirtualMMU< N >

An implement of Storage::Interface as Virtual MMU.

Template Parameters
NThe number of items in each memory unit.

Definition at line 24 of file VirtualMMU.hpp.

Constructor & Destructor Documentation

◆ VirtualMMU()

template<size_t N>
HRCore::Storage::VirtualMMU< N >::VirtualMMU ( )
inline

Definition at line 40 of file VirtualMMU.hpp.

◆ ~VirtualMMU()

template<size_t N>
virtual HRCore::Storage::VirtualMMU< N >::~VirtualMMU ( )
inlinevirtual

Definition at line 45 of file VirtualMMU.hpp.

Member Function Documentation

◆ at()

template<size_t N>
virtual item_t HRCore::Storage::VirtualMMU< N >::at ( size_t  pos)
inlinevirtual

Access to storage[pos].

Parameters
posThe index of item, starting from 0.
Returns
item_t

Implements HRCore::Storage::Interface.

Definition at line 52 of file VirtualMMU.hpp.

Here is the caller graph for this function:

◆ begin()

template<size_t N>
virtual item_t HRCore::Storage::VirtualMMU< N >::begin ( )
inlineoverridevirtual

Return the first item of storage.

Returns
item_t The first item.

Implements HRCore::Storage::Interface.

Definition at line 67 of file VirtualMMU.hpp.

Here is the call graph for this function:

◆ delObject()

template<size_t N>
virtual void HRCore::Storage::VirtualMMU< N >::delObject ( const Interface ptr)
inlineoverridevirtual

Delete a object from newObject()

Parameters
ptrThe pointer of object to be deleted

Implements HRCore::Storage::Interface.

Definition at line 130 of file VirtualMMU.hpp.

◆ end()

template<size_t N>
virtual item_t HRCore::Storage::VirtualMMU< N >::end ( )
inlineoverridevirtual

Returns the last item of storage.

Returns
item_t The last item.

Implements HRCore::Storage::Interface.

Definition at line 68 of file VirtualMMU.hpp.

Here is the call graph for this function:

◆ extend()

template<size_t N>
virtual bool HRCore::Storage::VirtualMMU< N >::extend ( size_t  len)
inlineoverridevirtual

Extend the storage to a given length.

Parameters
lenFinal length.
Returns
true if success
false if no space or ...

Implements HRCore::Storage::Interface.

Definition at line 118 of file VirtualMMU.hpp.

◆ length()

template<size_t N>
virtual size_t HRCore::Storage::VirtualMMU< N >::length ( )
inlineoverridevirtual

Get the length of storage.

Returns
size_t Length of storage

Implements HRCore::Storage::Interface.

Definition at line 69 of file VirtualMMU.hpp.

◆ newObject()

template<size_t N>
virtual Interface * HRCore::Storage::VirtualMMU< N >::newObject ( )
inlineoverridevirtual

Get a new object of same type.

Returns
Interface* The pointer of new object

Implements HRCore::Storage::Interface.

Definition at line 129 of file VirtualMMU.hpp.

◆ next()

template<size_t N>
virtual item_t HRCore::Storage::VirtualMMU< N >::next ( item_t  cur)
inlineoverridevirtual

Get next item.

Parameters
curCurrent item.
Returns
item_t The next item.

Implements HRCore::Storage::Interface.

Definition at line 71 of file VirtualMMU.hpp.

◆ prev()

template<size_t N>
virtual item_t HRCore::Storage::VirtualMMU< N >::prev ( item_t  cur)
inlineoverridevirtual
Parameters
curCurrent item.
Returns
item_t The previous item.

Implements HRCore::Storage::Interface.

Definition at line 88 of file VirtualMMU.hpp.

◆ shrink()

template<size_t N>
virtual bool HRCore::Storage::VirtualMMU< N >::shrink ( size_t  len)
inlineoverridevirtual

Remove data from the end to shrink the size to a given length.

Parameters
lenThe length to be remained.
Returns
true if success
false if failed

Implements HRCore::Storage::Interface.

Definition at line 105 of file VirtualMMU.hpp.


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