File indexing completed on 2024-04-06 12:13:02
0001 #ifndef FWCore_ServiceRegistry_PathContext_h
0002 #define FWCore_ServiceRegistry_PathContext_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include <iosfwd>
0018 #include <string>
0019
0020 namespace edm {
0021
0022 class StreamContext;
0023
0024 class PathContext {
0025 public:
0026 enum class PathType { kPath, kEndPath };
0027
0028 PathContext(std::string const& pathName, StreamContext const* streamContext, unsigned int pathID, PathType pathType);
0029
0030 std::string const& pathName() const { return pathName_; }
0031 StreamContext const* streamContext() const { return streamContext_; }
0032 unsigned int pathID() const { return pathID_; }
0033 PathType pathType() const { return pathType_; }
0034
0035 bool isEndPath() const { return pathType_ == PathType::kEndPath; }
0036
0037 private:
0038 std::string pathName_;
0039 StreamContext const* streamContext_;
0040 unsigned int pathID_;
0041 PathType pathType_;
0042 };
0043
0044 std::ostream& operator<<(std::ostream&, PathContext const&);
0045 }
0046 #endif