bn::affine_bg_pa_register_hbe_ptr class

std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

Base classes

class hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect.

Public static functions

static auto create(affine_bg_ptr bg, const span<const affine_bg_mat_attributes>& attributes_ref) -> affine_bg_pa_register_hbe_ptr
Creates an affine_bg_pa_register_hbe_ptr which changes the attributes to commit to the first GBA register of an affine_bg_ptr.
static auto create(affine_bg_ptr bg, const span<const int16_t>& values_ref) -> affine_bg_pa_register_hbe_ptr
Creates an affine_bg_pa_register_hbe_ptr which changes the values to commit to the first GBA register of an affine_bg_ptr.
static auto create_optional(affine_bg_ptr bg, const span<const affine_bg_mat_attributes>& attributes_ref) -> optional<affine_bg_pa_register_hbe_ptr>
Creates an affine_bg_pa_register_hbe_ptr which changes the attributes to commit to the first GBA register of an affine_bg_ptr.
static auto create_optional(affine_bg_ptr bg, const span<const int16_t>& values_ref) -> optional<affine_bg_pa_register_hbe_ptr>
Creates an affine_bg_pa_register_hbe_ptr which changes the values to commit to the first GBA register of an affine_bg_ptr.

Public functions

auto bg() const -> const affine_bg_ptr&
Returns the affine_bg_ptr modified by this H-Blank effect.
auto attributes_ref() const -> span<const affine_bg_mat_attributes>
Returns the referenced array of 160 affine_bg_mat_attributes objects with the attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
auto values_ref() const -> span<const int16_t>
Returns the referenced array of 160 values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
void set_attributes_ref(const span<const affine_bg_mat_attributes>& attributes_ref)
Sets the reference to an array of 160 affine_bg_mat_attributes objects with the attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
void set_values_ref(const span<const int16_t>& values_ref)
Sets the reference to an array of 160 values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
void reload_attributes_ref()
Rereads the content of the referenced attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
void reload_values_ref()
Rereads the content of the referenced values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
void swap(affine_bg_pa_register_hbe_ptr& other)
Exchanges the contents of this affine_bg_pa_register_hbe_ptr with those of the other one.

Friends

void swap(affine_bg_pa_register_hbe_ptr& a, affine_bg_pa_register_hbe_ptr& b)
Exchanges the contents of an affine_bg_pa_register_hbe_ptr with those of another one.

Function documentation

static affine_bg_pa_register_hbe_ptr bn::affine_bg_pa_register_hbe_ptr::create(affine_bg_ptr bg, const span<const affine_bg_mat_attributes>& attributes_ref)

Creates an affine_bg_pa_register_hbe_ptr which changes the attributes to commit to the first GBA register of an affine_bg_ptr.

Parameters
bg affine_bg_ptr to be modified.
attributes_ref Reference to an array of 160 affine_bg_mat_attributes objects with the attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
Returns The requested affine_bg_pa_register_hbe_ptr.

The attributes are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

static affine_bg_pa_register_hbe_ptr bn::affine_bg_pa_register_hbe_ptr::create(affine_bg_ptr bg, const span<const int16_t>& values_ref)

Creates an affine_bg_pa_register_hbe_ptr which changes the values to commit to the first GBA register of an affine_bg_ptr.

Parameters
bg affine_bg_ptr to be modified.
values_ref Reference to an array of 160 values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
Returns The requested affine_bg_pa_register_hbe_ptr.

The values are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

static optional<affine_bg_pa_register_hbe_ptr> bn::affine_bg_pa_register_hbe_ptr::create_optional(affine_bg_ptr bg, const span<const affine_bg_mat_attributes>& attributes_ref)

Creates an affine_bg_pa_register_hbe_ptr which changes the attributes to commit to the first GBA register of an affine_bg_ptr.

Parameters
bg affine_bg_ptr to be modified.
attributes_ref Reference to an array of 160 affine_bg_mat_attributes objects with the attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
Returns The requested affine_bg_pa_register_hbe_ptr if it could be allocated; bn::nullopt otherwise.

The attributes are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

static optional<affine_bg_pa_register_hbe_ptr> bn::affine_bg_pa_register_hbe_ptr::create_optional(affine_bg_ptr bg, const span<const int16_t>& values_ref)

Creates an affine_bg_pa_register_hbe_ptr which changes the values to commit to the first GBA register of an affine_bg_ptr.

Parameters
bg affine_bg_ptr to be modified.
values_ref Reference to an array of 160 values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
Returns The requested affine_bg_pa_register_hbe_ptr if it could be allocated; bn::nullopt otherwise.

The values are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

span<const affine_bg_mat_attributes> bn::affine_bg_pa_register_hbe_ptr::attributes_ref() const

Returns the referenced array of 160 affine_bg_mat_attributes objects with the attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

The attributes are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

span<const int16_t> bn::affine_bg_pa_register_hbe_ptr::values_ref() const

Returns the referenced array of 160 values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

The values are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

void bn::affine_bg_pa_register_hbe_ptr::set_attributes_ref(const span<const affine_bg_mat_attributes>& attributes_ref)

Sets the reference to an array of 160 affine_bg_mat_attributes objects with the attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

The attributes are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

void bn::affine_bg_pa_register_hbe_ptr::set_values_ref(const span<const int16_t>& values_ref)

Sets the reference to an array of 160 values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

The values are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

void bn::affine_bg_pa_register_hbe_ptr::reload_attributes_ref()

Rereads the content of the referenced attributes to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

The attributes are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

void bn::affine_bg_pa_register_hbe_ptr::reload_values_ref()

Rereads the content of the referenced values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.

The values are not copied but referenced, so they should outlive affine_bg_pa_register_hbe_ptr to avoid dangling references.

void bn::affine_bg_pa_register_hbe_ptr::swap(affine_bg_pa_register_hbe_ptr& other)

Exchanges the contents of this affine_bg_pa_register_hbe_ptr with those of the other one.

Parameters
other affine_bg_pa_register_hbe_ptr to exchange the contents with.

void swap(affine_bg_pa_register_hbe_ptr& a, affine_bg_pa_register_hbe_ptr& b)

Exchanges the contents of an affine_bg_pa_register_hbe_ptr with those of another one.

Parameters
a First affine_bg_pa_register_hbe_ptr to exchange the contents with.
b Second affine_bg_pa_register_hbe_ptr to exchange the contents with.