53 GCU_FORMULA_PARSE_GUESS,
54 GCU_FORMULA_PARSE_ATOM,
55 GCU_FORMULA_PARSE_RESIDUE,
56 GCU_FORMULA_PARSE_ASK,
57 GCU_FORMULA_PARSE_NO_CASE=8
72 parse_error (
const std::string& __arg,
int start,
int length);
81 what ()
const throw ();
86 what (
int& start,
int& length)
const throw ();
95 int m_start, m_length;
117 virtual std::string Markup ();
121 virtual std::string Text ();
128 virtual void BuildRawFormula (std::map<int, int> &raw) = 0;
132 virtual int GetValence () = 0;
165 std::string Markup ();
175 void BuildRawFormula (std::map<int, int> &raw);
202 std::string Markup ();
213 void BuildRawFormula (std::map<int, int> &raw);
252 std::string Markup ();
263 void BuildRawFormula (std::map<int, int> &raw);
307 char const *GetMarkup ();
311 std::map<int,int> &GetRawFormula ();
315 char const *GetRawMarkup ();
322 void SetFormula (std::string entry)
throw (
parse_error);
343 std::list<FormulaElt *>
const &
GetElements ()
const {
return Details;}
346 bool BuildConnectivity ();
347 void Parse (std::string &formula, std::list<FormulaElt *>&result)
throw (
parse_error);
348 bool AnalString (
char *sz, std::list<FormulaElt *> &result,
bool &ambiguous,
int offset);
349 bool TryReplace (std::list<FormulaElt *> &result, std::list<FormulaElt *>::iterator it);
352 std::string Entry, Markup, RawMarkup;
353 std::map<int,int> Raw;
354 std::list<FormulaElt *> Details;
358 bool m_ConnectivityCached;
376 #endif // GCU_FORMULA_H
#define GCU_RO_PROP(type, member)
The Gnome Chemistry Utils C++ classes.
#define GCU_PROP(type, member)
void add_offset(int offset)
virtual const char * what() const
parse_error(const std::string &__arg, int start, int length)