Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:47:41

0001 #ifndef FWCore_ParameterSet_types_h
0002 #define FWCore_ParameterSet_types_h
0003 
0004 // ----------------------------------------------------------------------
0005 // declaration of type encoding/decoding functions
0006 // ----------------------------------------------------------------------
0007 
0008 // ----------------------------------------------------------------------
0009 // prolog
0010 
0011 // ----------------------------------------------------------------------
0012 // prerequisite source files and headers
0013 
0014 #include <string>
0015 #include <string_view>
0016 #include <vector>
0017 #include <optional>
0018 
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020 
0021 // ----------------------------------------------------------------------
0022 // contents
0023 
0024 namespace edm {
0025   //            destination    source
0026 
0027   // Bool
0028   bool decode(bool&, std::string_view);
0029   bool encode(std::string&, bool);
0030 
0031   // vBool
0032   bool decode(std::vector<bool>&, std::string_view);
0033   bool encode(std::string&, std::vector<bool> const&);
0034 
0035   // Int32
0036   bool decode(int&, std::string_view);
0037   bool encode(std::string&, int);
0038 
0039   // vInt32
0040   bool decode(std::vector<int>&, std::string_view);
0041   bool encode(std::string&, std::vector<int> const&);
0042 
0043   // Uint32
0044   bool decode(unsigned int&, std::string_view);
0045   bool encode(std::string&, unsigned int);
0046 
0047   // vUint32
0048   bool decode(std::vector<unsigned int>&, std::string_view);
0049   bool encode(std::string&, std::vector<unsigned int> const&);
0050 
0051   // Int64
0052   bool decode(long long&, std::string_view);
0053   bool encode(std::string&, long long);
0054 
0055   // vInt64
0056   bool decode(std::vector<long long>&, std::string_view);
0057   bool encode(std::string&, std::vector<long long> const&);
0058 
0059   // Uint64
0060   bool decode(unsigned long long&, std::string_view);
0061   bool encode(std::string&, unsigned long long);
0062 
0063   // vUint64
0064   bool decode(std::vector<unsigned long long>&, std::string_view);
0065   bool encode(std::string&, std::vector<unsigned long long> const&);
0066 
0067   // Double
0068   bool decode(double&, std::string_view);
0069   bool encode(std::string&, double);
0070 
0071   // vDouble
0072   bool decode(std::vector<double>&, std::string_view);
0073   bool encode(std::string&, std::vector<double> const&);
0074 
0075   // String
0076   bool decode(std::string&, std::string_view);
0077   bool encode(std::string&, std::string const&);
0078   std::optional<std::string_view> decode_string_extent(std::string_view from);
0079 
0080   // vString
0081   bool decode(std::vector<std::string>&, std::string_view);
0082   bool encode(std::string&, std::vector<std::string> const&);
0083   bool decode_element(std::string&, std::string_view);
0084   bool encode_element(std::string&, std::string const&);
0085   std::optional<std::string_view> decode_vstring_extent(std::string_view from);
0086 
0087   // String old, kept for backwards compatibility
0088   bool decode_deprecated(std::string&, std::string_view);
0089   bool encode_deprecated(std::string&, std::string const&);
0090 
0091   // vString old, kept for backwards compatibility
0092   bool decode_deprecated(std::vector<std::string>&, std::string_view);
0093   bool encode_deprecated(std::string&, std::vector<std::string> const&);
0094 
0095   // FileInPath
0096   bool decode(edm::FileInPath&, std::string_view);
0097   bool encode(std::string&, edm::FileInPath const&);
0098 
0099   // InputTag
0100   bool decode(edm::InputTag&, std::string_view);
0101   bool encode(std::string&, edm::InputTag const&);
0102 
0103   // VInputTag
0104   bool decode(std::vector<edm::InputTag>&, std::string_view);
0105   bool encode(std::string&, std::vector<edm::InputTag> const&);
0106 
0107   // ESInputTag
0108   bool decode(edm::ESInputTag&, std::string_view);
0109   bool encode(std::string&, edm::ESInputTag const&);
0110 
0111   // VESInputTag
0112   bool decode(std::vector<edm::ESInputTag>&, std::string_view);
0113   bool encode(std::string&, std::vector<edm::ESInputTag> const&);
0114 
0115   // EventID
0116   bool decode(edm::EventID&, std::string_view);
0117   bool encode(std::string&, edm::EventID const&);
0118 
0119   // VEventID
0120   bool decode(std::vector<edm::EventID>&, std::string_view);
0121   bool encode(std::string&, std::vector<edm::EventID> const&);
0122 
0123   // LuminosityBlockID
0124   bool decode(edm::LuminosityBlockID&, std::string_view);
0125   bool encode(std::string&, edm::LuminosityBlockID const&);
0126 
0127   // VLuminosityBlockID
0128   bool decode(std::vector<edm::LuminosityBlockID>&, std::string_view);
0129   bool encode(std::string&, std::vector<edm::LuminosityBlockID> const&);
0130 
0131   // LuminosityBlockRange
0132   bool decode(edm::LuminosityBlockRange&, std::string_view);
0133   bool encode(std::string&, edm::LuminosityBlockRange const&);
0134 
0135   // VLuminosityBlockRange
0136   bool decode(std::vector<edm::LuminosityBlockRange>&, std::string_view);
0137   bool encode(std::string&, std::vector<edm::LuminosityBlockRange> const&);
0138 
0139   // EventRange
0140   bool decode(edm::EventRange&, std::string_view);
0141   bool encode(std::string&, edm::EventRange const&);
0142 
0143   // VEventRange
0144   bool decode(std::vector<edm::EventRange>&, std::string_view);
0145   bool encode(std::string&, std::vector<edm::EventRange> const&);
0146 
0147   // ParameterSet
0148   bool decode(ParameterSet&, std::string_view);
0149   bool encode(std::string&, ParameterSet const&);
0150   std::optional<std::string_view> decode_pset_extent(std::string_view from);
0151 
0152   // vPSet
0153   bool decode(std::vector<ParameterSet>&, std::string_view);
0154   bool encode(std::string&, std::vector<ParameterSet> const&);
0155   std::optional<std::string_view> decode_vpset_extent(std::string_view from);
0156 
0157 }  // namespace edm
0158 
0159 // ----------------------------------------------------------------------
0160 // epilog
0161 
0162 #endif