Qore Programming Language  0.8.11.1
Macros | Functions
params.h File Reference

(6813)

#include <qore/AbstractQoreNode.h>
Include dependency graph for params.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define HARD_QORE_BINARY(list, i)   get_hard_param<const BinaryNode>(list, i)
 returns a const BinaryNode* from a hard typed binary param
 
#define HARD_QORE_BOOL(list, i)   get_hard_param<const QoreBoolNode>(list, i)->getValue()
 returns a bool from a hard typed bool param
 
#define HARD_QORE_DATE(list, i)   get_hard_param<const DateTimeNode>(list, i)
 returns a const DateTimeNode* from a hard typed date param
 
#define HARD_QORE_FLOAT(list, i)   get_hard_param<const QoreFloatNode>(list, i)->f
 returns a double from a hard typed float param
 
#define HARD_QORE_HASH(list, i)   get_hard_param<const QoreHashNode>(list, i)
 returns a const QoreHashNode* from a hard typed hash param
 
#define HARD_QORE_INT(list, i)   get_hard_param<const QoreBigIntNode>(list, i)->val
 returns an int64 from a hard typed int param
 
#define HARD_QORE_LIST(list, i)   get_hard_param<const QoreListNode>(list, i)
 returns a const QoreListNode* from a hard typed list param
 
#define HARD_QORE_NUMBER(list, i)   get_hard_param<const QoreNumberNode>(list, i)
 returns a const QoreNumberNode* from a hard typed number or softnumber param
 
#define HARD_QORE_OBJECT(list, i)   const_cast<QoreObject *>(get_hard_param<const QoreObject>(list, i))
 returns a QoreObject* from a hard typed object param
 
#define HARD_QORE_OR_NOTHING_PARAM(name, Type, list, i)   Type *name = get_hard_or_nothing_param<Type>(list, i)
 returns a hard typed parameter
 
#define HARD_QORE_PARAM(name, Type, list, i)   Type *name = get_hard_param<Type>(list, i)
 returns a hard typed parameter
 
#define HARD_QORE_REF(list, i)   get_hard_param<const ReferenceNode>(list, i)
 returns a const QoreHashNode* from a hard typed hash param
 
#define HARD_QORE_STRING(list, i)   get_hard_param<const QoreStringNode>(list, i)
 returns a const QoreStringNode* from a hard typed string param
 

Functions

static int64 get_bigint_param (const QoreListNode *n, qore_size_t i)
 returns a 64-bit integer corresponding to the argument given or 0 if there is none
 
static int64 get_bigint_param_with_default (const QoreListNode *n, qore_size_t i, int64 def)
 returns a 64-bit integer corresponding to the argument given or a default value if there is none
 
static bool get_bool_param (const QoreListNode *n, qore_size_t i)
 returns a boolean value corresponding to the argument given or false if there is none
 
static const QoreEncodingget_encoding_param (const QoreListNode *n, qore_size_t i, const QoreEncoding *def=QCS_DEFAULT)
 returns the QoreEncoding corresponding to the string passed or a default encoding
 
static double get_float_param (const QoreListNode *n, qore_size_t i)
 returns a float corresponding to the argument given or 0 if there is none
 
template<typename T >
static T * get_hard_or_nothing_param (const QoreListNode *n, qore_size_t i)
 returns the given type for hard typed parameters
 
template<typename T >
static T * get_hard_param (const QoreListNode *n, qore_size_t i)
 returns the given type for hard typed parameters
 
static const QoreEncodingget_hard_qore_encoding_param (const QoreListNode *n, qore_size_t i)
 returns the QoreEncoding corresponding to the string passed or a default encoding
 
static int get_int_param (const QoreListNode *n, qore_size_t i)
 returns an integer corresponding to the argument given or 0 if there is none
 
static int get_int_param_with_default (const QoreListNode *n, qore_size_t i, int def)
 returns an integer corresponding to the argument given or a default value if there is none
 
static const AbstractQoreNodeget_param (const QoreListNode *n, qore_size_t i)
 returns the argument in the position given or 0 if there is none More...
 
static qore_type_t get_param_type (const QoreListNode *n, qore_size_t i)
 returns the argument type in the position given or 0 if there is none More...
 
static unsigned num_args (const QoreListNode *n)
 returns the number of arguments passed to the function More...
 
static unsigned num_params (const QoreListNode *n)
 returns the number of arguments passed to the function More...
 
static const BinaryNodetest_binary_param (const QoreListNode *n, qore_size_t i)
 returns a const BinaryNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a BinaryNode More...
 
static const ResolvedCallReferenceNodetest_callref_param (const QoreListNode *n, qore_size_t i)
 returns a ResolvedCallReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ResolvedCallReferenceNode More...
 
static const DateTimeNodetest_date_param (const QoreListNode *n, qore_size_t i)
 returns a DateTimeNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a DateTimeNode More...
 
static const ResolvedCallReferenceNodetest_funcref_param (const QoreListNode *n, qore_size_t i)
 returns a ResolvedCallReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ResolvedCallReferenceNode More...
 
static const QoreHashNodetest_hash_param (const QoreListNode *n, qore_size_t i)
 returns a QoreHashNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreHashNode More...
 
static const QoreListNodetest_list_param (const QoreListNode *n, qore_size_t i)
 returns a QoreListNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreListNode More...
 
static bool test_nothing_param (const QoreListNode *n, qore_size_t i)
 returns true if the arugment position given is NOTHING More...
 
static QoreObjecttest_object_param (const QoreListNode *n, qore_size_t i)
 returns a QoreObject pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreObject More...
 
static const ReferenceNodetest_reference_param (const QoreListNode *n, qore_size_t i)
 returns a ReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ReferenceNode More...
 
static const QoreStringNodetest_string_param (const QoreListNode *n, qore_size_t i)
 returns a const QoreStringNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreStringNode More...
 

Detailed Description

Contains inline functions for accessing function and class method arguments.

Function Documentation

static const AbstractQoreNode* get_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns the argument in the position given or 0 if there is none

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
the argument in the position given or 0 if there is none

References is_nothing(), and QoreListNode::retrieve_entry().

static qore_type_t get_param_type ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns the argument type in the position given or 0 if there is none

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
the argument type in the position given or 0 if there is none

References AbstractQoreNode::getType(), NT_NOTHING, and QoreListNode::retrieve_entry().

static unsigned num_args ( const QoreListNode n)
inlinestatic

returns the number of arguments passed to the function

Parameters
na pointer to the argument list
Returns
the number of arguments passed to the function

References QoreListNode::size().

static unsigned num_params ( const QoreListNode n)
inlinestatic

returns the number of arguments passed to the function

Parameters
na pointer to the argument list
Returns
the number of arguments passed to the function

References QoreListNode::size().

static const BinaryNode* test_binary_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a const BinaryNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a BinaryNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a const BinaryNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a BinaryNode

References AbstractQoreNode::getType(), NT_BINARY, and QoreListNode::retrieve_entry().

static const ResolvedCallReferenceNode* test_callref_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a ResolvedCallReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ResolvedCallReferenceNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a ResolvedCallReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ResolvedCallReferenceNode

References AbstractQoreNode::getType(), NT_FUNCREF, NT_RUNTIME_CLOSURE, and QoreListNode::retrieve_entry().

Referenced by test_funcref_param().

static const DateTimeNode* test_date_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a DateTimeNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a DateTimeNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a DateTimeNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a DateTimeNode

References AbstractQoreNode::getType(), NT_DATE, and QoreListNode::retrieve_entry().

static const ResolvedCallReferenceNode* test_funcref_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a ResolvedCallReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ResolvedCallReferenceNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a ResolvedCallReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ResolvedCallReferenceNode

References test_callref_param().

static const QoreHashNode* test_hash_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a QoreHashNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreHashNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a QoreHashNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreHashNode

References AbstractQoreNode::getType(), NT_HASH, and QoreListNode::retrieve_entry().

static const QoreListNode* test_list_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a QoreListNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreListNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a QoreListNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreListNode

References AbstractQoreNode::getType(), NT_LIST, and QoreListNode::retrieve_entry().

static bool test_nothing_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns true if the arugment position given is NOTHING

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
true if the arugment position given is NOTHING

References is_nothing(), and QoreListNode::retrieve_entry().

static QoreObject* test_object_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a QoreObject pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreObject

QoreObjects are returned not as "const" because they are unique and can always be manipulated

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a QoreObject pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreObject

References AbstractQoreNode::getType(), NT_OBJECT, and QoreListNode::retrieve_entry().

static const ReferenceNode* test_reference_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a ReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ReferenceNode

Note that this will also return a value for a closure; this is a synonym for test_funcref_param

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a ReferenceNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a ReferenceNode

References AbstractQoreNode::getType(), NT_REFERENCE, and QoreListNode::retrieve_entry().

static const QoreStringNode* test_string_param ( const QoreListNode n,
qore_size_t  i 
)
inlinestatic

returns a const QoreStringNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreStringNode

Parameters
na pointer to the argument list
ithe offset in the list to test (first element is offset 0)
Returns
a const QoreStringNode pointer for the argument position given or 0 if there is no argument there or if the argument is not a QoreStringNode

References AbstractQoreNode::getType(), NT_STRING, and QoreListNode::retrieve_entry().

Referenced by get_encoding_param().