4 #ifndef BALL_MOLMEC_AMBER_GAFFCESPARSER_H
5 #define BALL_MOLMEC_AMBER_GAFFCESPARSER_H
7 #ifndef BALL_KERNEL_ATOM_H
11 #ifndef BALL_DATATYPE_STRING_H
110 bool hasBond_(
Atom* atom,
Atom* predecessor,
int bond_type,
int feature_number);
~CESwildcardsConnectionPredicate()
std::map< String, CESwildcards > getStringToWildcard()
bool alreadySeenThisAtom(Atom *atom)
void setNumberOfPartners(Size number)
void setWildcards(String new_wildcard)
Size read(char *buf, Size max_size)
CESPredicate * root_predicate
bool GAFFCESatomMatcher(Atom &atom, const String &cesstring)
void initElementSymbols()
void addNewOR(APSMatcher::APSType aps, int feature_number)
bool checkGAFFProperties(Atom &atom, Atom &predecessor, APSTerm aps)
void addTruePredicate() const
TruePredicate(GAFFCESParser *parser)
void addCESelementConnectionPredicate(Size partners, String name)
void addCESwildcardsPredicate(String wildcard)
~CESelementConnectionPredicate()
CESwildcardsPredicate(GAFFCESParser *parser)
GAFFCESParser * current_parser
CESPredicate * current_root_predicate
void setNumberOfPartners(Size number)
bool matchWildcards(Atom &atom)
CESPredicate * current_predicate
bool matchWildcards(Atom &atom)
bool match(Atom &atom) const
CESelementPredicate(GAFFCESParser *parser)
void initStringToWildcard()
bool operator()(Atom &atom, Atom &predecessor)
virtual bool operator()(Atom &atom)
bool hasBond_(Atom *atom, Atom *predecessor, int bond_type, int feature_number)
int isNRingAtom(Size size, Atom &atom)
virtual bool match(Atom &)
bool parse(const String &cesstring)
void setElementName(String name)
std::map< String, CESwildcards > stringToWildcard_
void endChildPredicates()
std::set< String > element_symbols_
Size getNumberOfPartners()
CESelementConnectionPredicate(GAFFCESParser *parser)
TruePredicate root
The root atom has no CESPredicate to test, so it's considered always true.
std::vector< std::vector< APSTerm > > aps_terms
bool isNonRingAtom(Atom &atom)
void addCESelementPredicate(String name)
CESPredicate(GAFFCESParser *parser)
CESwildcards getWildcards()
void addCESwildcardsConnectionPredicate(String wildcard, Size partners)
APSMatcher::APSType current_aps_type
Size getNumberOfPartners()
void setWildcards(String new_wildcard)
const std::set< String > & getElementSymbols()
APSTerm(APSType new_type, int new_feature_number)
std::vector< CESPredicate * > children
CESwildcards getWildcards()
void setElementName(String name)
CESwildcardsConnectionPredicate(GAFFCESParser *parser)
void startChildPredicates()
bool isRingAtom(Atom &atom)