SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::domain::ids::validation Namespace Reference

Concepts

concept  HaveUniqueDomainIDs
 Concept to check if a pack of domain IDs have unique ID values. This is used to ensure that no two domain IDs in a list have the same ID.
 
concept  HaveUniqueBoundaryIDs
 Concept to check if a pack of boundary IDs have unique ID values. This is used to ensure that no two boundary IDs in a list have the same ID.
 
concept  HaveUniqueDomains
 Concept to check if a pack of domain IDs have unique domain types. This is used to ensure that no two domain IDs in a list refer to the same domain type.
 
concept  HaveUniqueBoundaries
 Concept to check if a pack of boundary IDs have unique boundary types. This is used to ensure that no two boundary IDs in a list refer to the same boundary type.
 
concept  AreDistinctDomainIDs
 Concept to check if a pack of domain IDs are distinct. This means that each ID is a valid domain ID, no two IDs have the same integer value, and no two IDs refer to the same domain type.
 
concept  AreDistinctBoundaryIDs
 Concept to check if a pack of boundary IDs are distinct. This means that each ID is a valid boundary ID, no two IDs have the same integer value, and no two IDs refer to the same boundary type.
 

Functions

template<typename... Ts>
requires (std::equality_comparable<Ts> && ...)
consteval bool all_unique_values (Ts... values) noexcept
 Utility function to check if a pack of values are all unique.
 

Function Documentation

◆ all_unique_values()

template<typename... Ts>
requires (std::equality_comparable<Ts> && ...)
bool serif::discretization::domain::ids::validation::all_unique_values ( Ts... values)
nodiscardconstevalnoexcept

Utility function to check if a pack of values are all unique.

Template Parameters
TsThe types of the values to check.
Parameters
valuesThe values to check for uniqueness.
Returns
true if all values are unique, false otherwise.
Todo
Really this should probably be refactored into the utils module since this is not super specific to domainIDs.