19 #ifndef OST_QUERY_STATE_HH
20 #define OST_QUERY_STATE_HH
32 #include <boost/logic/tribool.hpp>
40 namespace ost {
namespace mol {
44 struct LazilyBoundData;
45 struct LazilyBoundRef;
84 std::vector<boost::logic::tribool> s_;
85 std::vector<boost::logic::tribool> value_stack_;
86 boost::shared_ptr<LazilyBoundData> r_;
Three dimensional vector class, using Real precision.
Holds state used during query evaluation.
boost::logic::tribool EvalResidue(const impl::ResidueImplPtr &r)
Evaluate residue. Assumes that EvalChain has been called.
bool IsAtomSelected(const AtomHandle &atom)
QueryState(const impl::QueryImpl &query, const EntityHandle &ref)
const LazilyBoundRef & GetBoundObject(int i) const
boost::logic::tribool EvalStack(Prop::Level level)
Evaluate stack.
QueryState(const impl::QueryImpl &query, const EntityView &ref)
boost::logic::tribool EvalAtom(const impl::AtomImplPtr &a)
Evaluate atom. Assumes that EvalAtom has been called.
void Reset(Prop::Level level)
bool IsChainSelected(const ChainHandle &chain)
bool IsResidueSelected(const ResidueHandle &residue)
boost::logic::tribool EvalChain(const impl::ChainImplPtr &c)
Evaluate chain.
query statement implementation
#define DLLEXPORT_OST_MOL
boost::shared_ptr< AtomImpl > AtomImplPtr
boost::shared_ptr< ChainImpl > ChainImplPtr
boost::shared_ptr< ResidueImpl > ResidueImplPtr