28class Simplex_tree_siblings {
32 template<
class T>
friend class Simplex_tree_simplex_vertex_iterator;
33 template<
class T>
friend class Simplex_tree_boundary_simplex_iterator;
34 template<
class T>
friend class Simplex_tree_complex_simplex_iterator;
35 template<
class T>
friend class Simplex_tree_skeleton_simplex_iterator;
36 template<
class T>
friend class Simplex_tree_boundary_opposite_vertex_simplex_iterator;
40 typedef typename SimplexTree::Node Node;
41 typedef MapContainer Dictionary;
42 typedef typename MapContainer::iterator Dictionary_it;
43 typedef typename MapContainer::const_iterator Dictionary_const_it;
46 Simplex_tree_siblings()
53 Simplex_tree_siblings(Simplex_tree_siblings * oncles, Vertex_handle parent)
62 template<
typename RandomAccessVertexRange>
63 Simplex_tree_siblings(Simplex_tree_siblings * oncles, Vertex_handle parent,
const RandomAccessVertexRange & members)
66 members_(boost::container::ordered_unique_range, members.begin(),
68 for (
auto& map_el : members_) {
69 map_el.second.assign_children(
this);
79 void insert(Vertex_handle v, Filtration_value filtration_value) {
80 auto ins = members_.emplace(v, Node(
this, filtration_value));
81 if (!ins.second && filtration(ins.first) > filtration_value)
82 ins.first->second.assign_filtration(filtration_value);
85 Dictionary_it find(Vertex_handle v) {
86 return members_.find(v);
88 Dictionary_const_it find(Vertex_handle v)
const {
89 return members_.find(v);
92 Simplex_tree_siblings * oncles() {
95 const Simplex_tree_siblings * oncles()
const {
99 Vertex_handle parent()
const {
103 Dictionary & members() {
107 const Dictionary & members()
const {
111 size_t size()
const {
112 return members_.size();
115 void erase(
const Dictionary_it iterator) {
116 members_.erase(iterator);
119 Dictionary_it to_non_const_it(Dictionary_const_it it) {
120 return members_.erase(it, it);
123 Simplex_tree_siblings * oncles_;
124 Vertex_handle parent_;
void insert(Vertex_handle v, Filtration_value filtration_value)
Inserts a Node in the set of siblings nodes.
Definition Simplex_tree_siblings.h:79
Simplex_tree_siblings(Simplex_tree_siblings *oncles, Vertex_handle parent, const RandomAccessVertexRange &members)
Constructor with initialized set of members.
Definition Simplex_tree_siblings.h:63