From: Adam Emerson Date: Mon, 7 Aug 2023 19:36:27 +0000 (-0400) Subject: common/ceph_json: `encode_json()` for `std::array` X-Git-Tag: v19.3.0~349^2~21 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=153145df82ee9c086c4688c7c3cd07c98c42f026;p=ceph.git common/ceph_json: `encode_json()` for `std::array` No decode, though, since JSON arrays can vary in length and `std::array` cannot. Signed-off-by: Adam Emerson --- diff --git a/src/common/ceph_json.h b/src/common/ceph_json.h index 08e8d9e4662..4a12c037d8a 100644 --- a/src/common/ceph_json.h +++ b/src/common/ceph_json.h @@ -582,6 +582,17 @@ static void encode_json(const char *name, const std::vector& l, ceph::Formatt f->close_section(); } +template +static void encode_json(const char *name, const std::array& l, + ceph::Formatter *f) +{ + f->open_array_section(name); + for (auto iter = l.cbegin(); iter != l.cend(); ++iter) { + encode_json("obj", *iter, f); + } + f->close_section(); +} + template> static void encode_json(const char *name, const std::map& m, ceph::Formatter *f) {