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 BoxB [1] = { &Types::Boolean }
 Function accepts one boolean argument.
 
static ALIB_API BoxBB [2] = { &Types::Boolean , &Types::Boolean }
 Function accepts two boolean arguments.
 
static ALIB_API BoxD [1] = { &Types::DateTime }
 Function accepts a DateTime argument.
 
static ALIB_API BoxDDur [2] = { &Types::DateTime , &Types::Duration }
 Function accepts a DateTime argument, followed by a Duration.
 
static ALIB_API BoxDur [1] = { &Types::Duration }
 Function accepts a Duration argument.
 
static ALIB_API BoxF [1] = { &Types::Float }
 Function accepts one floating point argument.
 
static ALIB_API BoxFF [2] = { &Types::Float , &Types::Float }
 Function accepts two floating point arguments.
 
static ALIB_API BoxI [1] = { &Types::Integer }
 Function accepts one integral argument.
 
static ALIB_API BoxII [2] = { &Types::Integer , &Types::Integer }
 Function accepts two integral arguments.
 
static ALIB_API BoxIVar [2] = { &Types::Integer , nullptr }
 Function accepts one integral argument, followed by variadic arguments.
 
static ALIB_API BoxS [1] = { &Types::String }
 Function accepts one string argument.
 
static ALIB_API BoxSI [2] = { &Types::String , &Types::Integer }
 Function accepts one string argument, followed by an integral argument.
 
static ALIB_API BoxSII [3] = { &Types::String , &Types::Integer , &Types::Integer }
 Function accepts one string argument, followed by two integral arguments.
 
static ALIB_API BoxSS [2] = { &Types::String , &Types::String }
 Function accepts two string arguments.
 
static ALIB_API BoxSSB [3] = { &Types::String , &Types::String , &Types::Boolean }
 Function accepts two string arguments, followed by a boolean argument.
 
static ALIB_API BoxSSI [3] = { &Types::String , &Types::String , &Types::Integer }
 Function accepts two string arguments, followed by an integral argument.
 
static ALIB_API BoxSSS [3] = { &Types::String , &Types::String , &Types::String }
 Function accepts three string arguments.
 
static ALIB_API BoxSVar [2] = { &Types::String , nullptr }
 Function accepts one string argument, followed by variadic arguments.
 
static ALIB_API BoxVar [1] = { nullptr }
 Function accepts variadic arguments.
 

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