diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2020-04-16 15:40:45 +0200 |
---|---|---|
committer | Marc Glisse <marc.glisse@inria.fr> | 2020-04-16 15:40:45 +0200 |
commit | d302e90dcf4b284e6dc8b3ab21e8a67fb9cf5179 (patch) | |
tree | bebf0760b4d1c842141ae2e08b65c191872f7b93 | |
parent | 0b19e1f991fdebbdb622d3101135eaee65c4ed5d (diff) |
Update the concept of the simplicial complex
We use the key now.
It wouldn't be hard to use an unordered_map, but since we usually have
an unused field key...
-rw-r--r-- | src/Alpha_complex/concept/SimplicialComplexForAlpha.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Alpha_complex/concept/SimplicialComplexForAlpha.h b/src/Alpha_complex/concept/SimplicialComplexForAlpha.h index 1c6c3b0c..c20c3201 100644 --- a/src/Alpha_complex/concept/SimplicialComplexForAlpha.h +++ b/src/Alpha_complex/concept/SimplicialComplexForAlpha.h @@ -72,6 +72,24 @@ struct SimplicialComplexForAlpha { /** \brief Return type of an insertion of a simplex */ typedef unspecified Insertion_result_type; + + /** \name Map interface + * Conceptually a `std::unordered_map<Simplex_handle,std::size_t>`. + * @{ */ + /** \brief Data stored for each simplex. + * + * Must be an integer type. */ + typedef unspecified Simplex_key; + /** \brief Returns a constant dummy number that is either negative, + * or at least as large as the number of simplices. Suggested value: -1. */ + Simplex_key null_key (); + /** \brief Returns the number stored for a simplex by `assign_key()`. + * + * If `assign_key()` has not been called, it must return `null_key()`. */ + Simplex_key key ( Simplex_handle sh ); + /** \brief Store a number for a simplex, which can later be retrieved with `key()`. */ + void assign_key(Simplex_handle sh, Simplex_key n); + /** @} */ }; } // namespace alpha_complex |