SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::geometry::deformation::backend::mfem::ShapeCoefficientTracking Struct Reference

Capture the values behind a shape view, independently of its temporary wrapper. More...

#include <inputs.hpp>

Inheritance diagram for serif::geometry::deformation::backend::mfem::ShapeCoefficientTracking:
[legend]
Collaboration diagram for serif::geometry::deformation::backend::mfem::ShapeCoefficientTracking:
[legend]

Public Member Functions

std::vector< double > capture (std::span< const double > coefficients) const
 The cache must retain values rather than another view of mutable state.
 
bool matches (const std::vector< double > &captured, std::span< const double > coefficients) const
 Rebinding equal values reuses work; any changed coefficient invalidates it.
 
- Public Member Functions inherited from serif::geometry::deformation::backend::mfem::DeformationValueTracking
template<typename Value>
const void * identity (const Value &) const noexcept
 Wrapper addresses do not identify the underlying physical input.
 
- Public Member Functions inherited from serif::utils::dependencies::ValueSnapshot
template<typename T>
requires std::copy_constructible<T> && std::equality_comparable<T>
T capture (const T &value) const
 Keep the accepted value independent of subsequent edits to a borrowed source.
 
template<typename T>
requires std::equality_comparable<T>
bool matches (const T &captured, const T &value) const
 Compare content rather than a hash that could silently miss a change.
 

Detailed Description

Capture the values behind a shape view, independently of its temporary wrapper.

Member Function Documentation

◆ capture()

std::vector< double > serif::geometry::deformation::backend::mfem::ShapeCoefficientTracking::capture ( std::span< const double > coefficients) const
inlinenodiscard

The cache must retain values rather than another view of mutable state.

◆ matches()

bool serif::geometry::deformation::backend::mfem::ShapeCoefficientTracking::matches ( const std::vector< double > & captured,
std::span< const double > coefficients ) const
inlinenodiscard

Rebinding equal values reuses work; any changed coefficient invalidates it.


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