& orig_text,
54: m_Type(isIdent ? eIdentifier :
eString),
56m_OrigText(orig_text),
66m_OrigText(orig_text),
76m_OrigText(orig_text),
84: m_Type(eFloatConst),
86m_OrigText(orig_text),
95m_OrigText(orig_text),
110 "Incorrect query node type");
117 "Incorrect query node type");
126 "Incorrect query node type");
135 "Incorrect query node type");
144 "Incorrect query node type");
166 case eNotSet:
return "Not Set";
171 case eString:
return "String";
175 case eNot:
return "Not";
177 case eLike:
return "Like";
179 case eIn:
return "In";
180 case eAnd:
return "And";
181 case eOr:
return "Or";
182 case eSub:
return "Sub";
183 case eXor:
return "Xor";
184 case eRange:
return "Range";
185 case eEQ:
return "EQ";
186 case eGT:
return "GT";
187 case eGE:
return "GE";
188 case eLT:
return "LT";
189 case eLE:
return "LE";
192 case eSelect:
return "Select";
193 case eFrom:
return "From";
194 case eWhere:
return "Where";
196 case eList:
return "List";
201 return "Unknown Node Type";
229 const string& orig_text,
264 const string& orig_text)
274 returnnode.release();
313 TNode& qtree_nc =
const_cast<TNode&
>(*qtree);
ETreeTraverseCode operator()(CTreeNode< CQueryParseNode > &tr, int delta)
definition of a Culling tree
Base class for query node user defined object.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
int64_t Int8
8-byte (64-bit) signed integer
string GetNodeTypeAsString() const
Return query node type as a string (for debugging output)
virtual TNode * CreateNode(const string &value, const string &orig_text, bool isIdent)
Create Identifier node or string node.
void SetQueryTree(TNode *qtree)
Replace current query tree with the new one.
virtual TNode * CreateFuncNode(const string &func_name)
Create function node.
CQueryParseTree(TNode *clause=0)
Contruct the query. Takes the ownership of the clause.
const string & GetIdent() const
const TNode * GetQueryTree() const
void ResetUserObjects()
Reset all user objects attached to the parsing tree.
virtual ~CQueryParseTree()
void ResetUserObject()
Reset the associated user object (see IQueryParseUserObject::Reset())
virtual void Reset()=0
Reset user object (for reuse without reallocation)
const string & GetStrValue() const
void AttachUserObject(IQueryParseUserObject *obj)
Set user object. Query node takes ownership.
CTreeNode< CQueryParseNode > TNode
CRef< IQueryParseUserObject > m_UsrObj
unique_ptr< TNode > m_Tree
@ eNotSet
Produced by the (private) default constructor.
@ eIdentifier
Identifier like db.field (Org, Fld12, etc.)
@ eFloatConst
Floating point const.
@ eIntConst
Integer const.
@ eBoolConst
Boolean (TRUE or FALSE)
@ eString
String ("free text")
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Fun TreeDepthFirstTraverse(TTreeNode &tree_node, Fun func)
Depth-first tree traversal algorithm.
ETreeTraverseCode
Tree traverse code returned by the traverse predicate function.
const TValue & GetValue(void) const
Return node's value.
@ eTreeTraverse
Keep traversal.
const GenericPointer< typename T::ValueType > T2 value
Int4 delta(size_t dimension_, const Int4 *score_)
Query string parsing components.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4