Logo Search packages:      
Sourcecode: condor version File versions  Download package

FunctionCall Class Reference

#include <fnCall.h>

Inheritance diagram for FunctionCall:

ExprTree

List of all members.


Detailed Description

Node of the expression which represents a call to an function.

Definition at line 55 of file fnCall.h.


Public Types

typedef bool(* ClassAdFunc )(const char *, const ArgumentList &, EvalState &, Value &)
enum  NodeKind {
  LITERAL_NODE, ATTRREF_NODE, OP_NODE, FN_CALL_NODE,
  CLASSAD_NODE, EXPR_LIST_NODE
}
 The kinds of nodes in expression trees. More...

Public Member Functions

virtual int CalcPrintToStr (void)
virtual ExprTreeCopy () const
 Make a deep copy of the expression.
bool CopyFrom (const FunctionCall &functioncall)
virtual ExprTreeDeepCopy (void) const =0
virtual void Display ()
int EvalTree (const AttrList *, const AttrList *, EvalResult *)
int EvalTree (const AttrList *, EvalResult *)
bool Evaluate (Value &v) const
bool Evaluate (EvalState &state, Value &val) const
 FunctionCall (FunctionCall &functioncall)
 Copy Constructor.
void GetComponents (std::string &, std::vector< ExprTree * > &) const
NodeKind GetKind (void) const
const ClassAdGetParentScope () const
virtual void GetReferences (const AttrList *base_attrlist, StringList &internal_references, StringList &external_references) const
virtual ExprTreeLArg ()
LexemeType MyType ()
virtual int operator< (ExprTree &)
virtual int operator<= (ExprTree &)
FunctionCalloperator= (FunctionCall &functioncall)
virtual int operator== (ExprTree &)
virtual int operator> (ExprTree &)
virtual int operator>= (ExprTree &)
virtual void PrintToNewStr (char **str)
virtual void PrintToStr (MyString &)
virtual void PrintToStr (char *)
void Puke () const
 A debugging method; send expression to stdout.
virtual ExprTreeRArg ()
virtual bool SameAs (const ExprTree *tree) const
void SetParentScope (const ClassAd *p)
virtual ~FunctionCall ()
 Destructor.

Static Public Member Functions

static FunctionCallMakeFunctionCall (const std::string &fnName, std::vector< ExprTree * > &argList)
static void RegisterFunction (std::string &functionName, ClassAdFunc function)
static void RegisterFunctions (ClassAdFunctionMapping *functions)
static bool RegisterSharedLibraryFunctions (const char *shared_library_path)

Public Attributes

bool invisible
char unit

Protected Types

enum  {
  EVAL_FAIL, EVAL_OK, EVAL_UNDEF, PROP_UNDEF,
  EVAL_ERROR, PROP_ERROR
}
typedef std::map< std::string,
void *, CaseIgnLTStr > 
FuncTable

Protected Member Functions

virtual int _EvalTree (const AttrList *, const AttrList *, EvalResult *)=0
virtual int _EvalTree (const class AttrList *, EvalResult *)=0
virtual void CopyBaseExprTree (class ExprTree *const recipient) const
void CopyFrom (const ExprTree &literal)
bool Evaluate (EvalState &, Value &, ExprTree *&) const
bool Evaluate (Value &v, ExprTree *&t) const
bool Flatten (EvalState &, Value &, ExprTree *&, int *=NULL) const
bool Flatten (Value &val, ExprTree *&tree) const
 FunctionCall ()
 Constructor.

Protected Attributes

bool evalFlag
NodeKind nodeKind
const ClassAdparentScope
LexemeType type

Static Protected Attributes

static StringSpacestring_space
static int string_space_references

Private Member Functions

virtual bool _Evaluate (EvalState &, Value &, ExprTree *&) const
virtual bool _Evaluate (EvalState &, Value &) const
virtual bool _Flatten (EvalState &, Value &, ExprTree *&, int *) const
virtual void _SetParentScope (const ClassAd *)

Static Private Member Functions

static bool changeCase (const char *, const ArgumentList &, EvalState &, Value &)
static bool compareString (const char *, const ArgumentList &, EvalState &, Value &)
static bool convBool (const char *, const ArgumentList &, EvalState &, Value &)
static bool convInt (const char *, const ArgumentList &, EvalState &, Value &)
static bool convReal (const char *, const ArgumentList &, EvalState &, Value &)
static bool convString (const char *, const ArgumentList &, EvalState &, Value &)
static bool convTime (const char *, const ArgumentList &, EvalState &, Value &)
static bool currentTime (const char *, const ArgumentList &, EvalState &, Value &)
static bool dayTime (const char *, const ArgumentList &, EvalState &, Value &)
static bool doMath (const char *, const ArgumentList &, EvalState &, Value &)
static bool epochTime (const char *, const ArgumentList &argList, EvalState &, Value &val)
static bool formatTime (const char *, const ArgumentList &, EvalState &, Value &)
static bool getField (const char *, const ArgumentList &, EvalState &, Value &)
static FuncTable & getFunctionTable (void)
static bool inTimeUnits (const char *, const ArgumentList &, EvalState &, Value &)
static bool isType (const char *, const ArgumentList &, EvalState &, Value &)
static bool listCompare (const char *, const ArgumentList &, EvalState &, Value &)
static bool makeDate (const char *, const ArgumentList &, EvalState &, Value &)
static bool makeTime (const char *, const ArgumentList &, EvalState &, Value &)
static bool matchPattern (const char *, const ArgumentList &, EvalState &, Value &)
static bool matchPatternMember (const char *, const ArgumentList &argList, EvalState &state, Value &result)
static bool minMax (const char *, const ArgumentList &, EvalState &, Value &)
static bool random (const char *, const ArgumentList &, EvalState &, Value &)
static bool size (const char *, const ArgumentList &, EvalState &, Value &)
static bool splitTime (const char *, const ArgumentList &, EvalState &, Value &)
static bool strCat (const char *, const ArgumentList &, EvalState &, Value &)
static bool subString (const char *, const ArgumentList &, EvalState &, Value &)
static bool sumAvg (const char *, const ArgumentList &, EvalState &, Value &)
static bool testMember (const char *, const ArgumentList &, EvalState &, Value &)
static bool timeZoneOffset (const char *, const ArgumentList &, EvalState &, Value &)

Private Attributes

ArgumentList arguments
ClassAdFunc function
std::string functionName

Static Private Attributes

static bool initialized = false

Friends

bool operator== (const FunctionCall &fn1, const FunctionCall &fn2)

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index