NCBI C++ ToolKit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
IMacroFunction< TData > Class Template Referenceabstract

Search Toolkit Book for IMacroFunction

Abstract base class for any user function which can be called from either the WHERE or DO clauses. More...

#include <gui/objutils/macro_fn_base.hpp>

+ Inheritance diagram for IMacroFunction< TData >:
+ Collaboration diagram for IMacroFunction< TData >:

Public Types

enum  EScopeEnum { eWhere , eDo , eBoth }
 
enum  ENestedFunc { eNotNested , eNested }
 

Public Member Functions

 IMacroFunction (EScopeEnum func_scope)
 Constructor. More...
 
virtual ~IMacroFunction ()
 Virtual destructor. More...
 
virtual void TheFunction ()=0
 Function implementation. More...
 
virtual void operator() (CMacroCmdComposite &cmd_composite, TData &data, CQueryParseTree::TNode &qnode)
 Function operator. More...
 
EScopeEnum GetFuncScope ()
 
ENestedFunc GetNestedState ()
 
const stringGetFuncReport () const
 Function extracts statistic from the object. More...
 
const stringGetErrorReport () const
 
void SetNestedState (ENestedFunc type)
 

Protected Member Functions

virtual void x_InitCall (TData &data)=0
 
virtual void x_SetUserObjects (CQueryParseTree::TNode &qnode)=0
 
void x_LogFunction (CNcbiOstrstream &logstr)
 
void x_LogError (CNcbiOstrstream &logstr)
 

Protected Attributes

CRef< CMacroCmdCompositem_CmdComposite
 
string m_Report
 function activity report More...
 
string m_Error
 error report More...
 
ENestedFunc m_Nested
 flag indicating whether the function is nested within another function More...
 

Private Attributes

EScopeEnum m_FuncScope
 

Detailed Description

template<typename TData>
class IMacroFunction< TData >

Abstract base class for any user function which can be called from either the WHERE or DO clauses.

Definition at line 55 of file macro_fn_base.hpp.


The documentation for this class was generated from the following file:
Modified on Fri Sep 20 14:58:32 2024 by modify_doxy.py rev. 669887