File indexing completed on 2023-03-17 11:03:35
0001 #ifndef FWCore_Reflection_DictionaryTools_h
0002 #define FWCore_Reflection_DictionaryTools_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <set>
0012 #include <string>
0013 #include <vector>
0014
0015 class TClass;
0016
0017 namespace edm {
0018
0019 class Exception;
0020 class TypeID;
0021 class TypeWithDict;
0022
0023 bool checkDictionary(std::vector<std::string>& missingDictionaries, TypeID const& typeID);
0024
0025 bool checkDictionaryOfWrappedType(std::vector<std::string>& missingDictionaries, TypeID const& unwrappedTypeID);
0026
0027 bool checkDictionaryOfWrappedType(std::vector<std::string>& missingDictionaries, std::string const& unwrappedName);
0028
0029 bool checkDictionary(std::vector<std::string>& missingDictionaries,
0030 std::string const& name,
0031 TypeWithDict const& typeWithDict);
0032
0033 bool checkClassDictionaries(std::vector<std::string>& missingDictionaries, TypeID const& typeID);
0034
0035 bool checkClassDictionaries(std::vector<std::string>& missingDictionaries,
0036 std::string const& name,
0037 TypeWithDict const& typeWithDict);
0038
0039 void addToMissingDictionariesException(edm::Exception& exception,
0040 std::vector<std::string>& missingDictionaries,
0041 std::string const& context);
0042
0043 void throwMissingDictionariesException(std::vector<std::string>& missingDictionaries, std::string const& context);
0044
0045 void throwMissingDictionariesException(std::vector<std::string>& missingDictionaries,
0046 std::string const& context,
0047 std::vector<std::string>& producedTypes);
0048
0049 void throwMissingDictionariesException(std::vector<std::string>& missingDictionaries,
0050 std::string const& context,
0051 std::vector<std::string>& producedTypes,
0052 std::vector<std::string>& branchNames,
0053 bool fromStreamerSource = false);
0054
0055 void throwMissingDictionariesException(std::vector<std::string>& missingDictionaries,
0056 std::string const& context,
0057 std::set<std::string>& producedTypes,
0058 bool consumedWithView);
0059
0060 bool public_base_classes(std::vector<std::string>& missingDictionaries,
0061 TypeID const& typeID,
0062 std::vector<TypeID>& baseTypes);
0063 }
0064
0065 #endif