30 #include <boost/variant.hpp>
31 #include <boost/logic/tribool.hpp>
41 namespace ost {
namespace mol {
83 bool IsAtomSelected(
const AtomHandle& ah)
const;
89 bool IsChainSelected(
const ChainHandle& chain)
const;
98 const String& GetQueryString()
const;
109 bool IsValid()
const;
111 bool MatchAll()
const;
125 if (name.find(
'\'') != String::npos) {
126 if (name.find(
'"') != String::npos) {
127 throw Error(
"Cannot quote chain name " + name +
" because it contains "
128 "both ' and \" in its name.");
133 if (name[name.length() - 1] ==
'\\') {
134 throw Error(
"Cannot quote chain name " + name +
" because it ends in \\.");
136 return quote + name + quote;
boost::shared_ptr< QueryImpl > QueryImplP
String DLLEXPORT_OST_MOL QueryQuoteName(const String &name)
Holds state used during query evaluation.
#define DLLEXPORT_OST_MOL