]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common: add ceph::size() 15181/head
authorKefu Chai <kchai@redhat.com>
Fri, 19 May 2017 16:38:51 +0000 (00:38 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 19 May 2017 16:40:00 +0000 (00:40 +0800)
backport from C++17

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/common/backport14.h

index a574cd06f939cec07f9e9155fbbdf9980d4ff130..f75a6e08f55a68de6c4592dc2643c3d5eed34985 100644 (file)
@@ -58,7 +58,20 @@ template<typename T, class... Args>
 typename uniquity<T>::verboten
 make_unique(Args&&...) = delete;
 } // namespace _backport14
+
+namespace _backport17 {
+template <class C>
+constexpr auto size(const C& c) -> decltype(c.size()) {
+  return c.size();
+}
+
+template <typename T, std::size_t N>
+constexpr std::size_t size(const T (&array)[N]) noexcept {
+  return N;
+}
+} // namespace _backport17
 using _backport14::make_unique;
+using _backport17::size;
 } // namespace ceph
 
 #endif // CEPH_COMMON_BACKPORT14_H