44#ifndef CEPH_MGR_METRIC_TYPES_H
55#define CEPH_MGR_METRIC_TYPES_H
66
7- #include < boost/ variant.hpp >
7+ #include < variant>
88#include " include/denc.h"
99#include " include/ceph_features.h"
1010#include " mgr/OSDPerfMetricTypes.h"
@@ -89,9 +89,9 @@ WRITE_CLASS_DENC(OSDMetricPayload)
8989WRITE_CLASS_DENC(MDSMetricPayload)
9090WRITE_CLASS_DENC(UnknownMetricPayload)
9191
92- typedef boost ::variant<OSDMetricPayload,
93- MDSMetricPayload,
94- UnknownMetricPayload> MetricPayload;
92+ typedef std ::variant<OSDMetricPayload,
93+ MDSMetricPayload,
94+ UnknownMetricPayload> MetricPayload;
9595
9696class EncodeMetricPayloadVisitor : public boost ::static_visitor<void > {
9797public:
@@ -133,14 +133,14 @@ struct MetricReportMessage {
133133
134134 bool should_encode (uint64_t features) const {
135135 if (!HAVE_FEATURE (features, SERVER_PACIFIC) &&
136- boost::get <MDSMetricPayload>(&payload)) {
136+ std::get_if <MDSMetricPayload>(&payload)) {
137137 return false ;
138138 }
139139 return true ;
140140 }
141141
142142 void encode (ceph::buffer::list &bl) const {
143- boost::apply_visitor (EncodeMetricPayloadVisitor (bl), payload);
143+ std::visit (EncodeMetricPayloadVisitor (bl), payload);
144144 }
145145
146146 void decode (ceph::buffer::list::const_iterator &iter) {
@@ -161,15 +161,15 @@ struct MetricReportMessage {
161161 break ;
162162 }
163163
164- boost::apply_visitor (DecodeMetricPayloadVisitor (iter), payload);
164+ std::visit (DecodeMetricPayloadVisitor (iter), payload);
165165 }
166166 void dump (ceph::Formatter *f) const {
167167 f->open_object_section (" payload" );
168- if (const OSDMetricPayload* osdPayload = boost::get <OSDMetricPayload>(&payload)) {
168+ if (const OSDMetricPayload* osdPayload = std::get_if <OSDMetricPayload>(&payload)) {
169169 osdPayload->dump (f);
170- } else if (const MDSMetricPayload* mdsPayload = boost::get <MDSMetricPayload>(&payload)) {
170+ } else if (const MDSMetricPayload* mdsPayload = std::get_if <MDSMetricPayload>(&payload)) {
171171 mdsPayload->dump (f);
172- } else if (const UnknownMetricPayload* unknownPayload = boost::get <UnknownMetricPayload>(&payload)) {
172+ } else if (const UnknownMetricPayload* unknownPayload = std::get_if <UnknownMetricPayload>(&payload)) {
173173 unknownPayload->dump (f);
174174 } else {
175175 ceph_abort ();
@@ -255,9 +255,9 @@ WRITE_CLASS_DENC(OSDConfigPayload)
255255WRITE_CLASS_DENC(MDSConfigPayload)
256256WRITE_CLASS_DENC(UnknownConfigPayload)
257257
258- typedef boost ::variant<OSDConfigPayload,
259- MDSConfigPayload,
260- UnknownConfigPayload> ConfigPayload;
258+ typedef std ::variant<OSDConfigPayload,
259+ MDSConfigPayload,
260+ UnknownConfigPayload> ConfigPayload;
261261
262262class EncodeConfigPayloadVisitor : public boost ::static_visitor<void > {
263263public:
@@ -299,14 +299,14 @@ struct MetricConfigMessage {
299299
300300 bool should_encode (uint64_t features) const {
301301 if (!HAVE_FEATURE (features, SERVER_PACIFIC) &&
302- boost::get <MDSConfigPayload>(&payload)) {
302+ std::get_if <MDSConfigPayload>(&payload)) {
303303 return false ;
304304 }
305305 return true ;
306306 }
307307
308308 void encode (ceph::buffer::list &bl) const {
309- boost::apply_visitor (EncodeConfigPayloadVisitor (bl), payload);
309+ std::visit (EncodeConfigPayloadVisitor (bl), payload);
310310 }
311311
312312 void decode (ceph::buffer::list::const_iterator &iter) {
@@ -327,7 +327,7 @@ struct MetricConfigMessage {
327327 break ;
328328 }
329329
330- boost::apply_visitor (DecodeConfigPayloadVisitor (iter), payload);
330+ std::visit (DecodeConfigPayloadVisitor (iter), payload);
331331 }
332332};
333333
0 commit comments