From: Adam C. Emerson Date: Fri, 29 Mar 2019 01:03:38 +0000 (-0400) Subject: include: Update object.h to work without using namespace X-Git-Tag: v15.0.0~19^2~56 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=009fc9eea4244f7712d5ba4cf598b66e1f7536fe;p=ceph.git include: Update object.h to work without using namespace Signed-off-by: Adam C. Emerson --- diff --git a/src/include/object.h b/src/include/object.h index 99ca58f922445..b0f21bc455806 100644 --- a/src/include/object.h +++ b/src/include/object.h @@ -15,11 +15,12 @@ #ifndef CEPH_OBJECT_H #define CEPH_OBJECT_H -#include -#include - +#include +#include #include #include +#include + #include "include/rados.h" #include "include/unordered_map.h" @@ -32,13 +33,13 @@ using namespace std; struct object_t { - string name; + std::string name; object_t() {} // cppcheck-suppress noExplicitConstructor object_t(const char *s) : name(s) {} // cppcheck-suppress noExplicitConstructor - object_t(const string& s) : name(s) {} + object_t(const std::string& s) : name(s) {} void swap(object_t& o) { name.swap(o.name); @@ -46,12 +47,12 @@ struct object_t { void clear() { name.clear(); } - - void encode(bufferlist &bl) const { + + void encode(ceph::buffer::list &bl) const { using ceph::encode; encode(name, bl); } - void decode(bufferlist::const_iterator &bl) { + void decode(ceph::buffer::list::const_iterator &bl) { using ceph::decode; decode(name, bl); } @@ -70,24 +71,24 @@ inline bool operator>(const object_t& l, const object_t& r) { inline bool operator<(const object_t& l, const object_t& r) { return l.name < r.name; } -inline bool operator>=(const object_t& l, const object_t& r) { +inline bool operator>=(const object_t& l, const object_t& r) { return l.name >= r.name; } inline bool operator<=(const object_t& l, const object_t& r) { return l.name <= r.name; } -inline ostream& operator<<(ostream& out, const object_t& o) { +inline std::ostream& operator<<(std::ostream& out, const object_t& o) { return out << o.name; } namespace std { - template<> struct hash { - size_t operator()(const object_t& r) const { - //static hash H; - //return H(r.name); - return ceph_str_hash_linux(r.name.c_str(), r.name.length()); - } - }; +template<> struct hash { + size_t operator()(const object_t& r) const { + //static hash H; + //return H(r.name); + return ceph_str_hash_linux(r.name.c_str(), r.name.length()); + } +}; } // namespace std @@ -120,11 +121,17 @@ struct snapid_t { snapid_t(uint64_t v=0) : val(v) {} snapid_t operator+=(snapid_t o) { val += o.val; return *this; } snapid_t operator++() { ++val; return *this; } - operator uint64_t() const { return val; } + operator uint64_t() const { return val; } }; -inline void encode(snapid_t i, bufferlist &bl) { encode(i.val, bl); } -inline void decode(snapid_t &i, bufferlist::const_iterator &p) { decode(i.val, p); } +inline void encode(snapid_t i, ceph::buffer::list &bl) { + using ceph::encode; + encode(i.val, bl); +} +inline void decode(snapid_t &i, ceph::buffer::list::const_iterator &p) { + using ceph::decode; + decode(i.val, p); +} template<> struct denc_traits { @@ -135,21 +142,21 @@ struct denc_traits { static void bound_encode(const snapid_t& o, size_t& p) { denc(o.val, p); } - static void encode(const snapid_t &o, buffer::list::contiguous_appender& p) { + static void encode(const snapid_t &o, ceph::buffer::list::contiguous_appender& p) { denc(o.val, p); } - static void decode(snapid_t& o, buffer::ptr::const_iterator &p) { + static void decode(snapid_t& o, ceph::buffer::ptr::const_iterator &p) { denc(o.val, p); } }; -inline ostream& operator<<(ostream& out, const snapid_t& s) { +inline std::ostream& operator<<(std::ostream& out, const snapid_t& s) { if (s == CEPH_NOSNAP) return out << "head"; else if (s == CEPH_SNAPDIR) return out << "snapdir"; else - return out << hex << s.val << dec; + return out << std::hex << s.val << std::dec; } @@ -167,12 +174,12 @@ struct sobject_t { o.snap = t; } - void encode(bufferlist& bl) const { + void encode(ceph::buffer::list& bl) const { using ceph::encode; encode(oid, bl); encode(snap, bl); } - void decode(bufferlist::const_iterator& bl) { + void decode(ceph::buffer::list::const_iterator& bl) { using ceph::decode; decode(oid, bl); decode(snap, bl); @@ -198,17 +205,17 @@ inline bool operator>=(const sobject_t &l, const sobject_t &r) { inline bool operator<=(const sobject_t &l, const sobject_t &r) { return l.oid < r.oid || (l.oid == r.oid && l.snap <= r.snap); } -inline ostream& operator<<(ostream& out, const sobject_t &o) { +inline std::ostream& operator<<(std::ostream& out, const sobject_t &o) { return out << o.oid << "/" << o.snap; } namespace std { - template<> struct hash { - size_t operator()(const sobject_t &r) const { - static hash H; - static rjhash I; - return H(r.oid) ^ I(r.snap); - } - }; +template<> struct hash { + size_t operator()(const sobject_t &r) const { + static hash H; + static rjhash I; + return H(r.oid) ^ I(r.snap); + } +}; } // namespace std #endif