corelinux::MemoryStorage Class Reference

MemoryStorage is type of Storage characterized as transient and high speed. More...

`#include <MemoryStorage.hpp>`

## Public Member Functions

| MemoryStorage (MemoryIdentifierCref, IntCref, VoidPtr)
| Constructor for storage object. More...
bool | operator== (MemoryStorageCref) const
| Compares identifier.
| operator MemoryIdentifierCref (void) const
| Returns identifier.
void | operator+ (Int) throw ( BoundsException )
| Increment current pointer.
void | operator- (Int) throw ( BoundsException )
| Decrement current pointer.
template<class T >
| operator T (void) throw ( BoundsException )
| Reads current location as type.
template<class T >
| operator T * (void) throw ( BoundsException )
| Reads current location as type pointer.
template<class T >
T & | operator= (T &aT) throw ( BoundsException )
| Data assignment.
MemoryStorageRef | operator[] (Int offset) throw ( BoundsException )
| Subscript offset operator.
template<class Type , class Xexec >
void | forEach (Xexec aExec) throw ( Assertion )
| forEach invokes the callers method to perform whatever operation they want on the type reference in the segment space. More...
template<class Type , class Xexec , class Test >
void | forEach (Xexec aExec, Test aTest) throw ( Assertion )
| forEach that invokes the callers method if the callers test method returns true More...
Public Member Functions inherited from corelinux::TransientStorage
| TransientStorage (TransientStorageCref)
TransientStorageRef | operator= (TransientStorageCref)
bool | operator== (TransientStorageCref) const
Public Member Functions inherited from corelinux::Storage
| Storage (StorageCref)
StorageRef | operator= (StorageCref)
bool | operator== (StorageCref) const

## Protected Member Functions

| MemoryStorage (void) throw ( Assertion )
| Default is never called.
| MemoryStorage (MemoryStorageCref)
| Copy called by Memory.
virtual | ~MemoryStorage (void)
| Virtual destructor.
MemoryStorageRef | operator= (MemoryStorageCref)
| Assignment called by Memory.
VoidPtr | getBasePointer (void)
| Internal reference to base.

## Friends

class | Memory

## Detailed Description

MemoryStorage is type of Storage characterized as transient and high speed.

The interface provides pointer semantics with the addition of bounds error checking.

## Constructor & Destructor Documentation

corelinux::MemoryStorage::MemoryStorage | ( | MemoryIdentifierCref | anId,
|  | IntCref | aSize,
|  | VoidPtr | aBase
| ) |  |

Constructor for storage object.

Parameters

  MemoryIdentifier | a unique id
  Int | size of region in bytes
  void | * to base address of region

## Member Function Documentation

template<class Type , class Xexec >

void corelinux::MemoryStorage::forEach | ( | Xexec | aExec | ) |
throw | ( | Assertion
| ) |  |

inline

forEach invokes the callers method to perform whatever operation they want on the type reference in the segment space.

Parameters

  Xexec | call to templated type

template<class Type , class Xexec , class Test >

void corelinux::MemoryStorage::forEach | ( | Xexec | aExec,
|  | Test | aTest
| ) |  |
throw | ( | Assertion
| ) |  |

inline

forEach that invokes the callers method if the callers test method returns true

Parameters

  Xexec | call to templated type
  Test | call to templated type

References getBasePointer(), MemoryStorage(), operator=(), and ~MemoryStorage().

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

- MemoryStorage.hpp
- MemoryStorage.cpp

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium