summaryrefslogtreecommitdiff
path: root/src/Alpha_complex/concept
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2020-04-16 15:40:45 +0200
committerMarc Glisse <marc.glisse@inria.fr>2020-04-16 15:40:45 +0200
commitd302e90dcf4b284e6dc8b3ab21e8a67fb9cf5179 (patch)
treebebf0760b4d1c842141ae2e08b65c191872f7b93 /src/Alpha_complex/concept
parent0b19e1f991fdebbdb622d3101135eaee65c4ed5d (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...
Diffstat (limited to 'src/Alpha_complex/concept')
-rw-r--r--src/Alpha_complex/concept/SimplicialComplexForAlpha.h18
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