summaryrefslogtreecommitdiff
path: root/include/erebos/set.h
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2022-12-18 18:56:19 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2022-12-18 21:37:11 +0100
commit86293ff20d9f8625615e855d98249175e8cd5cd3 (patch)
tree7eb1fe3a34ce1d6a24a9338f3dd3008b500fffe0 /include/erebos/set.h
parent77fc16d21158c6542addcbaaff47b801d3b5f5c7 (diff)
Contact service and contacts using stored set
Diffstat (limited to 'include/erebos/set.h')
-rw-r--r--include/erebos/set.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/erebos/set.h b/include/erebos/set.h
index f625cb0..539ffa0 100644
--- a/include/erebos/set.h
+++ b/include/erebos/set.h
@@ -17,13 +17,17 @@ protected:
SetBase();
SetBase(const vector<Ref> &);
SetBase(shared_ptr<const Priv>);
-
- shared_ptr<const Priv> add(Storage &, const vector<Ref> &) const;
+
+ shared_ptr<const Priv> add(const Storage &, const vector<Ref> &) const;
vector<vector<Ref>> toList() const;
public:
+ bool operator==(const SetBase &) const;
+ bool operator!=(const SetBase &) const;
+
vector<Digest> digests() const;
+ vector<Ref> store() const;
protected:
shared_ptr<const Priv> p;
@@ -43,7 +47,7 @@ public:
static Set<T> load(const vector<Ref> & refs) { return Set<T>(move(refs)); }
- Set<T> add(Storage &, const T &) const;
+ Set<T> add(const Storage &, const T &) const;
template<class F>
SetView<T> view(F && cmp) const;
@@ -64,7 +68,7 @@ private:
};
template<class T>
-Set<T> Set<T>::add(Storage & st, const T & x) const
+Set<T> Set<T>::add(const Storage & st, const T & x) const
{
return Set<T>(SetBase::add(st, storedRefs(Mergeable<T>::components(x))));
}