template <size_t NumEntries = 64>

class TSimpleAddressRangeBag

Defined at line 37 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

A bag implementation using a fixed amount of storage, so that it does

not perform any dynamic allocations for its operations.

The actual bag storage (TSimpleAddressRangeBag::Entry) is POD, so that it

can be transmitted over various IPC mechanisms.

Public Members

static const size_t num_entries

Public Methods

void TSimpleAddressRangeBag<NumEntries> ()

Defined at line 88 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

void TSimpleAddressRangeBag<NumEntries> (const TSimpleAddressRangeBag<NumEntries> & other)

Defined at line 92 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

TSimpleAddressRangeBag<NumEntries> & operator= (const TSimpleAddressRangeBag<NumEntries> & other)

Defined at line 96 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

size_t GetCount ()

Returns the number of active entries. The upper limit for this is

Defined at line 103 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

bool Insert (CheckedRange<uint64_t> range)

Inserts the given range into the bag. Duplicates and overlapping

ranges are supported and allowed, but not coalesced.

Parameters

range [in] The range to be inserted. The range must have either a non-zero base address or size.

Returns

`true` if there was space to insert the range into the bag,

otherwise `false` with an error logged.

Defined at line 121 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

bool Insert (void * base, size_t size)

Inserts the given range into the bag. Duplicates and overlapping

ranges are supported and allowed, but not coalesced.

Parameters

base [in] The base of the range to be inserted. May not be null.
size [in] The size of the range to be inserted. May not be zero.

Returns

`true` if there was space to insert the range into the bag,

otherwise `false` with an error logged.

Defined at line 144 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

bool Remove (CheckedRange<uint64_t> range)

Removes the given range from the bag.

Parameters

range [in] The range to be removed. The range must have either a non-zero base address or size.

Returns

`true` if the range was found and removed, otherwise `false` with

an error logged.

Defined at line 158 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

bool Remove (void * base, size_t size)

Removes the given range from the bag.

Parameters

base [in] The base of the range to be removed. May not be null.
size [in] The size of the range to be removed. May not be zero.

Returns

`true` if the range was found and removed, otherwise `false` with

an error logged.

Defined at line 180 of file ../../third_party/crashpad/src/client/simple_address_range_bag.h

Records