mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Friends
m::memory::AddressSpace Struct Reference

This class represents a reserved address space in virtual memory. More...

#include <memory.hpp>

Collaboration diagram for m::memory::AddressSpace:
[legend]

Public Member Functions

 AddressSpace (std::size_t size)
 
 ~AddressSpace ()
 
 AddressSpace (const AddressSpace &)=delete
 
 AddressSpace (AddressSpace &&other)
 
void * addr () const
 Returns a pointer to the beginning of the virtual address space.
 
std::size_t size () const
 Returns the size in bytes of the virtual address space.
 
template<typename T >
T as () const
 Get a pointer to the beginning of the virtual address space, converted to type T.
 

Private Member Functions

 AddressSpace ()
 

Private Attributes

void * addr_
 pointer to the beginning of the virtual address space
 
std::size_t size_
 size in bytes of the address space
 

Friends

void swap (AddressSpace &first, AddressSpace &second)
 

Detailed Description

This class represents a reserved address space in virtual memory.

It can be used to map the contents of memory::Memory instances into one contiguous virtual address range.

Definition at line 44 of file memory.hpp.

Constructor & Destructor Documentation

◆ AddressSpace() [1/4]

m::memory::AddressSpace::AddressSpace ( )
inlineprivate

Definition at line 57 of file memory.hpp.

◆ AddressSpace() [2/4]

AddressSpace::AddressSpace ( std::size_t  size)

Definition at line 60 of file memory.cpp.

References addr_, m::Ceil_To_Next_Page(), size(), and size_.

◆ ~AddressSpace()

AddressSpace::~AddressSpace ( )

Definition at line 71 of file memory.cpp.

References addr_, and size_.

◆ AddressSpace() [3/4]

m::memory::AddressSpace::AddressSpace ( const AddressSpace )
delete

◆ AddressSpace() [4/4]

m::memory::AddressSpace::AddressSpace ( AddressSpace &&  other)
inline

Definition at line 62 of file memory.hpp.

References m::swap().

Member Function Documentation

◆ addr()

void * m::memory::AddressSpace::addr ( ) const
inline

Returns a pointer to the beginning of the virtual address space.

Definition at line 65 of file memory.hpp.

Referenced by MockInterface::_load(), MockInterface::_store(), and LinearAllocator::raw_allocate().

◆ as()

template<typename T >
T m::memory::AddressSpace::as ( ) const
inline

Get a pointer to the beginning of the virtual address space, converted to type T.

Definition at line 71 of file memory.hpp.

References m::T().

Referenced by m::memory::Memory::map().

◆ size()

std::size_t m::memory::AddressSpace::size ( ) const
inline

Friends And Related Function Documentation

◆ swap

void swap ( AddressSpace first,
AddressSpace second 
)
friend

Definition at line 46 of file memory.hpp.

Field Documentation

◆ addr_

void* m::memory::AddressSpace::addr_
private

pointer to the beginning of the virtual address space

Definition at line 53 of file memory.hpp.

Referenced by AddressSpace(), and ~AddressSpace().

◆ size_

std::size_t m::memory::AddressSpace::size_
private

size in bytes of the address space

Definition at line 54 of file memory.hpp.

Referenced by AddressSpace(), and ~AddressSpace().


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