From: Samuel Just Date: Wed, 22 Jan 2020 22:25:11 +0000 (-0800) Subject: include/denc.h: add helpers for size of encoded bl X-Git-Tag: v16.1.0~2330^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=07e0c4b9b8aad6e6adb632f174649f63f413bd7b;p=ceph.git include/denc.h: add helpers for size of encoded bl Includes a constexpr variant for bounded types. Signed-off-by: Samuel Just --- diff --git a/src/include/denc.h b/src/include/denc.h index dfd5e923d38..a7dd3cca4ff 100644 --- a/src/include/denc.h +++ b/src/include/denc.h @@ -1536,6 +1536,29 @@ struct denc_traits { } \ }; +// ---------------------------------------------------------------------- +// encoded_sizeof_wrapper + +namespace ceph { + +template > +constexpr std::enable_if_t +encoded_sizeof_bounded() { + size_t p = 0; + traits::bound_encode(T(), p); + return p; +} + +template > +std::enable_if_t +encoded_sizeof(const T &t) { + size_t p = 0; + traits::bound_encode(t, p); + return p; +} + +} // namespace ceph + // ---------------------------------------------------------------------- // encode/decode wrappers