class Range

Defined at line 38 of file ../../src/sysmem/server/protected_ranges.h

This class represents a single protected range.

The begin_ and length_ are immutable (const) from when the Range is created, but the pmt_ is

mutable.

Public Methods

void Range ()

Defined at line 40 of file ../../src/sysmem/server/protected_ranges.h

void ~Range ()

Defined at line 41 of file ../../src/sysmem/server/protected_ranges.h

void Range (Range && to_move)

move-only

Defined at line 43 of file ../../src/sysmem/server/protected_ranges.h

Range & operator= (Range && to_move)

Defined at line 44 of file ../../src/sysmem/server/protected_ranges.h

void Range (const Range & to_copy)

no implicit copy

Defined at line 46 of file ../../src/sysmem/server/protected_ranges.h

Range & operator= (const Range & to_copy)

Defined at line 47 of file ../../src/sysmem/server/protected_ranges.h

Range Clone ()

explicit Clone(), as long as pmt_ is not set since we shouldn't clone that field

Defined at line 49 of file ../../src/sysmem/server/protected_ranges.h

Range BeginLength (uint64_t begin, uint64_t length)

Defined at line 55 of file ../../src/sysmem/server/protected_ranges.h

Range BeginEnd (uint64_t begin, uint64_t end)

Defined at line 56 of file ../../src/sysmem/server/protected_ranges.h

uint64_t begin ()

Defined at line 58 of file ../../src/sysmem/server/protected_ranges.h

uint64_t end ()

Defined at line 62 of file ../../src/sysmem/server/protected_ranges.h

uint64_t length ()

Defined at line 66 of file ../../src/sysmem/server/protected_ranges.h

bool empty ()

Defined at line 71 of file ../../src/sysmem/server/protected_ranges.h

void SetMutablePmt (zx::pmt pmt)

Defined at line 85 of file ../../src/sysmem/server/protected_ranges.h

zx::pmt TakeMutablePmt ()

Defined at line 90 of file ../../src/sysmem/server/protected_ranges.h

bool operator== (const Range & rhs)

We have to define this because we want to use

std::multiset

<Range

, CompareRangeByBegin>::operator==() which does _not_ use

CompareRangeByBegin (unless we call CompareRangeByBegin within this operator==()).

Defined at line 180 of file ../../src/sysmem/server/protected_ranges.h

bool IsOverlap (const Range & a, const Range & b)

Defined at line 1418 of file ../../src/sysmem/server/protected_ranges.cc

Range Intersect (const Range & a, const Range & b)

Defined at line 1428 of file ../../src/sysmem/server/protected_ranges.cc

Friends

class CompareRangeByLength
class CompareRangeByBegin