SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
traits.hpp File Reference

File containing traits for the eos relations module. These traits are used to determine if a type is a valid thermodynamic relation or a valid relation catalog. More...

Include dependency graph for traits.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::eos::relations::CatalogContainsRelation< Catalog, RelationT >
 A trait to determine if a catalog contains a given relation. This is the default false specialization. More...
 
struct  serif::eos::relations::CatalogContainsRelation< RelationCatalog< Relations... >, RelationT >
 A specialization of the CatalogContainsRelation trait for a RelationCatalog. This trait is used to determine if a RelationCatalog contains a given relation. This is true so long as any of the relations in the catalog match the relation type being checked for. More...
 
struct  serif::eos::relations::RelationContainsInput< RelationT, Quantity >
 A trait to determine if a relation contains a given input quantity. This is the default false specialization. More...
 
struct  serif::eos::relations::RelationContainsInput< Relation< Output, Inputs... >, Quantity >
 A specialization of the RelationContainsInput trait for a Relation. This trait is used to determine if a Relation contains a given input quantity. This is true so long as any of the input quantities in the relation match the quantity type being checked for. More...
 
struct  serif::eos::relations::IsThermodynamicRelation< RelationCandidate >
 A trait to determine if a type is a valid thermodynamic relation. This is the default false specialization. More...
 
struct  serif::eos::relations::IsThermodynamicRelation< Relation< Output, Inputs... > >
 A specialization of the IsThermodynamicRelation trait for a Relation. This trait is used to determine if a Relation is a valid thermodynamic relation. A relation is considered valid if its output quantity and all of its input quantities are valid thermodynamic quantities, and if all of its input quantities are unique types. More...
 
struct  serif::eos::relations::IsValidRelationCatalog< CandidateCatalog >
 A trait to determine if a type is a valid relation catalog. This is the default false specialization. More...
 
struct  serif::eos::relations::IsValidRelationCatalog< RelationCatalog< Relations... > >
 A specialization of the IsValidRelationCatalog trait for a RelationCatalog. This trait is used to determine if a RelationCatalog is a valid relation catalog. A relation catalog is considered valid if it contains at least one relation, if all of its relations are valid thermodynamic relations, and if all of its relations are unique types. More...
 

Namespaces

namespace  serif
 
namespace  serif::eos
 
namespace  serif::eos::relations
 

Variables

template<typename Catalog, typename RelationT>
constexpr bool serif::eos::relations::relation_catalog_contains_relation_v = CatalogContainsRelation<std::remove_cv_t<Catalog>, std::remove_cv_t<RelationT>>::value
 A trait to determine if a catalog contains a given relation. This is a helper variable template that simplifies the usage of the CatalogContainsRelation trait.
 
template<typename RelationT, typename Quantity>
constexpr bool serif::eos::relations::relation_contains_input_v = RelationContainsInput<std::remove_cv_t<RelationT>, std::remove_cv_t<Quantity>>::value
 A trait to determine if a relation contains a given input quantity. This is a helper variable template that simplifies the usage of the RelationContainsInput trait.
 
template<typename RelationCandidate>
constexpr bool serif::eos::relations::is_thermodynamic_relation_v = IsThermodynamicRelation<RelationCandidate>::value
 A trait to determine if a relation is a valid thermodynamic relation. This is a helper variable template that simplifies the usage of the IsThermodynamicRelation trait.
 
template<typename CatalogCandidate>
constexpr bool serif::eos::relations::is_valid_relation_catalog_v = IsValidRelationCatalog<CatalogCandidate>::value
 A trait to determine if a catalog is a valid relation catalog. This is a helper variable template that simplifies the usage of the IsValidRelationCatalog trait.
 

Detailed Description

File containing traits for the eos relations module. These traits are used to determine if a type is a valid thermodynamic relation or a valid relation catalog.

Author
Emily M. Boudreaux