ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Public Static Fields | List of all members
Signatures Struct Reference

#include <expressions.hpp>

Collaboration diagram for Signatures:
[legend]

Class Description


This struct holds static arrays of pointers to sample values. The arrays are used with helper class Calculus to denote accepted "function signatures" when* initializing column FunctionEntry::Signature of table Calculus::Functions.

Each static field of this class represents a permutation of function arguments. Note, that only those permutations which are needed and used by the built-in compiler plugins ( Arithmetics, Math, Strings and DateAndTime ) are contained here.

Custom compiler plug-ins may use the argument signatures given here, if a fitting signature is already included. Otherwise a custom signature array has to be defined, initialized and provided to the function definition table.

Definition at line 317 of file expressions.hpp.

Public Static Fields

static ALIB_API Box * B [1] = { &Types::Boolean }
 Function accepts one boolean argument.
 
static ALIB_API Box * BB [2] = { &Types::Boolean , &Types::Boolean }
 Function accepts two boolean arguments.
 
static ALIB_API Box * D [1] = { &Types::DateTime }
 Function accepts a DateTime argument.
 
static ALIB_API Box * DDur [2] = { &Types::DateTime , &Types::Duration }
 Function accepts a DateTime argument, followed by a Duration.
 
static ALIB_API Box * Dur [1] = { &Types::Duration }
 Function accepts a Duration argument.
 
static ALIB_API Box * F [1] = { &Types::Float }
 Function accepts one floating point argument.
 
static ALIB_API Box * FF [2] = { &Types::Float , &Types::Float }
 Function accepts two floating point arguments.
 
static ALIB_API Box * I [1] = { &Types::Integer }
 Function accepts one integral argument.
 
static ALIB_API Box * II [2] = { &Types::Integer , &Types::Integer }
 Function accepts two integral arguments.
 
static ALIB_API Box * IVar [2] = { &Types::Integer , nullptr }
 Function accepts one integral argument, followed by variadic arguments.
 
static ALIB_API Box * S [1] = { &Types::String }
 Function accepts one string argument.
 
static ALIB_API Box * SI [2] = { &Types::String , &Types::Integer }
 Function accepts one string argument, followed by an integral argument.
 
static ALIB_API Box * SII [3] = { &Types::String , &Types::Integer , &Types::Integer }
 Function accepts one string argument, followed by two integral arguments.
 
static ALIB_API Box * SS [2] = { &Types::String , &Types::String }
 Function accepts two string arguments.
 
static ALIB_API Box * SSB [3] = { &Types::String , &Types::String , &Types::Boolean }
 Function accepts two string arguments, followed by a boolean argument.
 
static ALIB_API Box * SSI [3] = { &Types::String , &Types::String , &Types::Integer }
 Function accepts two string arguments, followed by an integral argument.
 
static ALIB_API Box * SSS [3] = { &Types::String , &Types::String , &Types::String }
 Function accepts three string arguments.
 
static ALIB_API Box * SVar [2] = { &Types::String , nullptr }
 Function accepts one string argument, followed by variadic arguments.
 
static ALIB_API Box * Var [1] = { nullptr }
 Function accepts variadic arguments.
 

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