Signed-off-by: Sage Weil <sage@redhat.com>
}
}
+template<class T, class C>
+inline void encode(const std::set<T, C>& s, bufferlist& bl)
+{
+ __u32 n = (__u32)(s.size());
+ encode(n, bl);
+ for (typename std::set<T, C>::const_iterator p = s.begin(); p != s.end(); ++p)
+ encode(*p, bl);
+}
+template<class T, class C>
+inline void decode(std::set<T, C>& s, bufferlist::iterator& p)
+{
+ __u32 n;
+ decode(n, p);
+ s.clear();
+ while (n--) {
+ T v;
+ decode(v, p);
+ s.insert(v);
+ }
+}
+
template<class T>
inline void encode_nohead(const std::set<T>& s, bufferlist& bl)
{