4 #ifndef R__CONVERSION_RULE_PARSER_H
5 #define R__CONVERSION_RULE_PARSER_H
13 #include "RConfigure.h"
23 typedef std::map<std::string, std::string> SchemaRuleMap_t;
24 typedef std::map<std::string, std::list<SchemaRuleMap_t> > SchemaRuleClassMap_t;
25 R__EXTERN SchemaRuleClassMap_t gReadRules;
26 R__EXTERN SchemaRuleClassMap_t gReadRawRules;
28 typedef std::map<std::string, ROOT::Internal::TSchemaType> MembersTypeMap_t;
38 bool HasValidDataMembers( SchemaRuleMap_t& rule, MembersTypeMap_t& members,
39 std::string& error_string);
44 void WriteReadRuleFunc( SchemaRuleMap_t& rule,
int index,
45 std::string& mappedName,
46 MembersTypeMap_t& members, std::ostream& output );
52 void WriteReadRawRuleFunc( SchemaRuleMap_t& rule,
int index,
53 std::string& mappedName,
54 MembersTypeMap_t& members, std::ostream& output );
59 void WriteSchemaList( std::list<SchemaRuleMap_t>& rules,
60 const std::string& listName, std::ostream& output );
65 void GetRuleIncludes( std::list<std::string> &result );
70 bool ParseRule(std::string rule, ROOT::Internal::MembersMap_t &result, std::string &error_string );
75 void ProcessReadPragma(
const char* args, std::string& error_string );
80 void ProcessReadRawPragma(
const char* args, std::string& error_string );
83 #endif // R__CONVERSION_RULE_PARSER_H