libmicroemu 0.2.0
ARM Microcontroller Emulator Library
Loading...
Searching...
No Matches
libmicroemu::internal::MemRwOptional< Id, TCpuAccessor, TEndianessC > Class Template Reference

Optional assignable memory class. More...

#include <mem_rw_optional.h>

Public Member Functions

 MemRwOptional (u8 *const buf, const me_size_t buf_size, const me_adr_t vadr_offset)
 Constructor.
 
virtual ~MemRwOptional ()=default
 Destructor.
 
 MemRwOptional (const MemRwOptional &r_src)=default
 Copy constructor for MemOpt.
 
MemRwOptionaloperator= (const MemRwOptional &r_src)=default
 Copy assignment operator for MemOpt.
 
 MemRwOptional (MemRwOptional &&r_src)=default
 Move constructor for MemOpt.
 
MemRwOptionaloperator= (MemRwOptional &&r_src)=default
 Move assignment operator for MemOpt.
 
template<typename T>
ReadResult< T > Read (TCpuAccessor &cpua, me_adr_t vadr) const
 
template<typename T>
WriteResult< T > Write (TCpuAccessor &cpua, me_adr_t vadr, T value) const
 
bool IsVAdrInRange (me_adr_t vadr) const
 

Static Public Attributes

static constexpr bool kReadOnly = false
 

Detailed Description

template<unsigned Id, typename TCpuAccessor, typename TEndianessC>
class libmicroemu::internal::MemRwOptional< Id, TCpuAccessor, TEndianessC >

Optional assignable memory class.

This class represent an memory area which can be read and written to. The memory area is represented by a buffer and a size. If the buffer is nullptr or the size is 0, the memory behaves as if it is not present.

Template Parameters
Idthe id of the memory
TEndianessCthe endianess converter

Constructor & Destructor Documentation

◆ MemRwOptional() [1/2]

template<unsigned Id, typename TCpuAccessor, typename TEndianessC>
libmicroemu::internal::MemRwOptional< Id, TCpuAccessor, TEndianessC >::MemRwOptional ( const MemRwOptional< Id, TCpuAccessor, TEndianessC > & r_src)
default

Copy constructor for MemOpt.

Parameters
r_srcthe object to be copied

◆ MemRwOptional() [2/2]

template<unsigned Id, typename TCpuAccessor, typename TEndianessC>
libmicroemu::internal::MemRwOptional< Id, TCpuAccessor, TEndianessC >::MemRwOptional ( MemRwOptional< Id, TCpuAccessor, TEndianessC > && r_src)
default

Move constructor for MemOpt.

Parameters
r_srcthe object to be moved

Member Function Documentation

◆ operator=() [1/2]

template<unsigned Id, typename TCpuAccessor, typename TEndianessC>
MemRwOptional & libmicroemu::internal::MemRwOptional< Id, TCpuAccessor, TEndianessC >::operator= ( const MemRwOptional< Id, TCpuAccessor, TEndianessC > & r_src)
default

Copy assignment operator for MemOpt.

Parameters
r_srcthe object to be copied

◆ operator=() [2/2]

template<unsigned Id, typename TCpuAccessor, typename TEndianessC>
MemRwOptional & libmicroemu::internal::MemRwOptional< Id, TCpuAccessor, TEndianessC >::operator= ( MemRwOptional< Id, TCpuAccessor, TEndianessC > && r_src)
default

Move assignment operator for MemOpt.

Parameters
r_srcthe object to be moved

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