MADARA  3.2.3
madara::knowledge::Function Class Reference

This class stores a function definition. More...

#include <Functions.h>

Public Types

enum  Types {
  UNINITIALIZED = 0, EXTERN_UNNAMED = 1, EXTERN_NAMED = 2, KARL_EXPRESSION = 3,
  PYTHON_CALLABLE = 4, JAVA_CALLABLE = 5, FUNCTOR = 6
}
 Types of functions supported. More...
 

Public Member Functions

 Function ()
 Default constructor. More...
 
 Function (KnowledgeRecord(*func)(FunctionArguments &, Variables &))
 Constructor for function pointer. More...
 
 Function (KnowledgeRecord(*func)(const char *, FunctionArguments &, Variables &))
 Constructor for function pointer. More...
 
 Function (const madara::expression::ExpressionTree &func)
 Constructor for KaRL expression. More...
 
 Function (filters::RecordFilter *filter)
 Constructor for KaRL expression. More...
 
 Function (jobject &object)
 Constructor for java. More...
 
 Function (boost::python::object &func)
 Constructor for function pointer. More...
 
bool is_extern_named (void) const
 
bool is_extern_unnamed (void) const
 
bool is_functor (void) const
 
bool is_java_callable (void) const
 
bool is_karl_expression (void) const
 
bool is_python_callable (void) const
 
bool is_uninitialized (void) const
 

Public Attributes

knowledge::KnowledgeRecord(* extern_named )(const char *, FunctionArguments &, Variables &)
 
knowledge::KnowledgeRecord(* extern_unnamed )(FunctionArguments &, Variables &)
 
madara::expression::ExpressionTree function_contents
 
filters::RecordFilterfunctor
 
jobject java_object
 
boost::python::object python_function
 
int type
 

Detailed Description

This class stores a function definition.

Definition at line 44 of file Functions.h.

Member Enumeration Documentation

Types of functions supported.

Enumerator
UNINITIALIZED 
EXTERN_UNNAMED 
EXTERN_NAMED 
KARL_EXPRESSION 
PYTHON_CALLABLE 
JAVA_CALLABLE 
FUNCTOR 

Definition at line 51 of file Functions.h.

Constructor & Destructor Documentation

madara::knowledge::Function::Function ( )
inline

Default constructor.

Definition at line 65 of file Functions.h.

madara::knowledge::Function::Function ( KnowledgeRecord(*)(FunctionArguments &, Variables &)  func)
inline

Constructor for function pointer.

Definition at line 79 of file Functions.h.

madara::knowledge::Function::Function ( KnowledgeRecord(*)(const char *, FunctionArguments &, Variables &)  func)
inline

Constructor for function pointer.

Definition at line 93 of file Functions.h.

madara::knowledge::Function::Function ( const madara::expression::ExpressionTree func)
inline

Constructor for KaRL expression.

Definition at line 109 of file Functions.h.

madara::knowledge::Function::Function ( filters::RecordFilter filter)
inline

Constructor for KaRL expression.

Definition at line 120 of file Functions.h.

madara::knowledge::Function::Function ( jobject &  object)
inline

Constructor for java.

Definition at line 180 of file Functions.h.

madara::knowledge::Function::Function ( boost::python::object &  func)
inline

Constructor for function pointer.

Definition at line 200 of file Functions.h.

Member Function Documentation

bool madara::knowledge::Function::is_extern_named ( void  ) const
inline

Definition at line 136 of file Functions.h.

bool madara::knowledge::Function::is_extern_unnamed ( void  ) const
inline

Definition at line 131 of file Functions.h.

bool madara::knowledge::Function::is_functor ( void  ) const
inline

Definition at line 146 of file Functions.h.

bool madara::knowledge::Function::is_java_callable ( void  ) const
inline

Definition at line 189 of file Functions.h.

bool madara::knowledge::Function::is_karl_expression ( void  ) const
inline

Definition at line 141 of file Functions.h.

bool madara::knowledge::Function::is_python_callable ( void  ) const
inline

Definition at line 216 of file Functions.h.

bool madara::knowledge::Function::is_uninitialized ( void  ) const
inline

Definition at line 151 of file Functions.h.

Member Data Documentation

knowledge::KnowledgeRecord(* madara::knowledge::Function::extern_named) (const char *, FunctionArguments &, Variables &)

Definition at line 157 of file Functions.h.

knowledge::KnowledgeRecord(* madara::knowledge::Function::extern_unnamed) (FunctionArguments &, Variables &)

Definition at line 161 of file Functions.h.

madara::expression::ExpressionTree madara::knowledge::Function::function_contents

Definition at line 165 of file Functions.h.

filters::RecordFilter* madara::knowledge::Function::functor

Definition at line 168 of file Functions.h.

jobject madara::knowledge::Function::java_object

Definition at line 175 of file Functions.h.

boost::python::object madara::knowledge::Function::python_function

Definition at line 221 of file Functions.h.

int madara::knowledge::Function::type

Definition at line 171 of file Functions.h.


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