#define CEPH_INCLUDE_CEPHFS_METRICS_TYPES_H
#include <string>
-#include <boost/variant.hpp>
+#include <variant>
#include "common/Formatter.h"
#include "include/buffer_fwd.h"
}
};
-typedef boost::variant<CapInfoPayload,
+typedef std::variant<CapInfoPayload,
ReadLatencyPayload,
WriteLatencyPayload,
MetadataLatencyPayload,
: payload(payload) {
}
- class EncodePayloadVisitor : public boost::static_visitor<void> {
+ class EncodePayloadVisitor {
public:
explicit EncodePayloadVisitor(bufferlist &bl) : m_bl(bl) {
}
bufferlist &m_bl;
};
- class DecodePayloadVisitor : public boost::static_visitor<void> {
+ class DecodePayloadVisitor {
public:
DecodePayloadVisitor(bufferlist::const_iterator &iter) : m_iter(iter) {
}
bufferlist::const_iterator &m_iter;
};
- class DumpPayloadVisitor : public boost::static_visitor<void> {
+ class DumpPayloadVisitor {
public:
explicit DumpPayloadVisitor(Formatter *formatter) : m_formatter(formatter) {
}
Formatter *m_formatter;
};
- class PrintPayloadVisitor : public boost::static_visitor<void> {
+ class PrintPayloadVisitor {
public:
explicit PrintPayloadVisitor(std::ostream *out) : _out(out) {
}
};
void encode(bufferlist &bl) const {
- boost::apply_visitor(EncodePayloadVisitor(bl), payload);
+ std::visit(EncodePayloadVisitor(bl), payload);
}
void decode(bufferlist::const_iterator &iter) {
break;
}
- boost::apply_visitor(DecodePayloadVisitor(iter), payload);
+ std::visit(DecodePayloadVisitor(iter), payload);
}
void dump(Formatter *f) const {
- apply_visitor(DumpPayloadVisitor(f), payload);
+ std::visit(DumpPayloadVisitor(f), payload);
}
static void generate_test_instances(std::list<ClientMetricMessage*>& ls) {
}
void print(std::ostream *out) const {
- apply_visitor(PrintPayloadVisitor(out), payload);
+ std::visit(PrintPayloadVisitor(out), payload);
}
ClientMetricPayload payload;