The Pedigree Project 0.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
DiskReadView Class Reference

#include <DiskView.h>

+ Collaboration diagram for DiskReadView:

Public Member Functions

 DiskReadView (DiskReadView &&other) noexcept
 
DiskReadViewoperator= (DiskReadView &&other) noexcept
 
 DiskReadView (const DiskReadView &)=delete
 
DiskReadViewoperator= (const DiskReadView &)=delete
 
 operator bool () const
 
const void * data () const
 
size_t size () const
 
bool truncate (size_t length)
 
bool copyTo (void *destination, size_t length, size_t offset=0) const
 
template<typename T >
bool readAt (T &into, size_t offset=0) const
 
void reset ()
 

Static Public Member Functions

static DiskReadView borrowed (const void *data, size_t size)
 

Private Member Functions

 DiskReadView (Disk *owner, uint64_t location, BufferView view, bool writable, DiskUse &&use)
 

Private Attributes

Diskm_Owner
 
uint64_t m_Location
 
const uint8_t * m_Data
 
size_t m_Size
 
bool m_Writable
 
DiskUse m_Use
 

Friends

class Disk
 
class DiskWriteView
 

Detailed Description

Owns a cache reference. Pointers obtained from a view expire with the view. Callers retain their enclosing I/O termination scope across blocking operations.

Definition at line 15 of file DiskView.h.

Constructor & Destructor Documentation

◆ DiskReadView() [1/3]

DiskReadView::DiskReadView ( )

Definition at line 24 of file Disk.cc.

◆ DiskReadView() [2/3]

DiskReadView::DiskReadView ( DiskReadView &&  other)
noexcept

Definition at line 36 of file Disk.cc.

◆ ~DiskReadView()

DiskReadView::~DiskReadView ( )

Definition at line 56 of file Disk.cc.

◆ DiskReadView() [3/3]

DiskReadView::DiskReadView ( Disk owner,
uint64_t  location,
BufferView  view,
bool  writable,
DiskUse &&  use 
)
private

Definition at line 27 of file Disk.cc.

Member Function Documentation

◆ borrowed()

DiskReadView DiskReadView::borrowed ( const void *  data,
size_t  size 
)
static

For immutable storage whose lifetime exceeds the view, such as a zero page.

Definition at line 60 of file Disk.cc.

◆ copyTo()

bool DiskReadView::copyTo ( void *  destination,
size_t  length,
size_t  offset = 0 
) const
inline

Definition at line 42 of file DiskView.h.

◆ data()

const void * DiskReadView::data ( ) const
inline

Definition at line 30 of file DiskView.h.

◆ operator bool()

DiskReadView::operator bool ( ) const
inlineexplicit

Definition at line 27 of file DiskView.h.

◆ operator=()

DiskReadView & DiskReadView::operator= ( DiskReadView &&  other)
noexcept

Definition at line 40 of file Disk.cc.

◆ readAt()

template<typename T >
bool DiskReadView::readAt ( T &  into,
size_t  offset = 0 
) const
inline

Definition at line 50 of file DiskView.h.

◆ reset()

void DiskReadView::reset ( )

Definition at line 69 of file Disk.cc.

◆ size()

size_t DiskReadView::size ( ) const
inline

Definition at line 33 of file DiskView.h.

◆ truncate()

bool DiskReadView::truncate ( size_t  length)
inline

Definition at line 36 of file DiskView.h.

Friends And Related Symbol Documentation

◆ Disk

friend class Disk
friend

Definition at line 61 of file DiskView.h.

◆ DiskWriteView

friend class DiskWriteView
friend

Definition at line 62 of file DiskView.h.

Member Data Documentation

◆ m_Data

const uint8_t* DiskReadView::m_Data
private

Definition at line 67 of file DiskView.h.

◆ m_Location

uint64_t DiskReadView::m_Location
private

Definition at line 66 of file DiskView.h.

◆ m_Owner

Disk* DiskReadView::m_Owner
private

Definition at line 65 of file DiskView.h.

◆ m_Size

size_t DiskReadView::m_Size
private

Definition at line 68 of file DiskView.h.

◆ m_Use

DiskUse DiskReadView::m_Use
private

Definition at line 70 of file DiskView.h.

◆ m_Writable

bool DiskReadView::m_Writable
private

Definition at line 69 of file DiskView.h.


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