ATLAS Offline Software
Loading...
Searching...
No Matches
ClusterMessage.icc
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4#include <format>
5
6// Used by std::format to format ClusterMessageType enums
7template <>
8struct std::formatter<ClusterMessageType>
9 : public std::formatter<std::string_view> {
10 using formatter<string_view>::formatter;
11 // parse is inherited from formatter<string_view>.
12 template <typename FormatContext>
13 auto format(const ClusterMessageType& mType, FormatContext& ctx) const {
14 string_view str = "ERROR";
15 switch (mType) {
16 case ClusterMessageType::RequestEvent:
17 str = "RequestEvent";
18 break;
19 case ClusterMessageType::ProvideEvent:
20 str = "ProvideEvent";
21 break;
22 case ClusterMessageType::EventsDone:
23 str = "EventsDone";
24 break;
25 case ClusterMessageType::FinalWorkerStatus:
26 str = "FinalWorkerStatus";
27 break;
28 case ClusterMessageType::WorkerError:
29 str = "WorkerError";
30 break;
31 case ClusterMessageType::EmergencyStop:
32 str = "EmergencyStop";
33 break;
34 case ClusterMessageType::Data:
35 str = "Data (Variable Size)";
36 break;
37 case ClusterMessageType::EMPTY:
38 str = "[Empty Message]";
39 break;
40 }
41 return formatter<string_view>::format(str, ctx);
42 }
43};