ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::expressions::Signatures Struct Reference

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 249 of file expressionscamp.inl.

Collaboration diagram for alib::expressions::Signatures:
[legend]

Public Static Field Index:

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

Field Details:

◆ B

Box * alib::expressions::Signatures::B = { &Types::Boolean }
static

Function accepts one boolean argument.

Definition at line 252 of file expressionscamp.inl.

◆ BB

Box * alib::expressions::Signatures::BB = { &Types::Boolean , &Types::Boolean }
static

Function accepts two boolean arguments.

Definition at line 253 of file expressionscamp.inl.

◆ D

Box * alib::expressions::Signatures::D = { &Types::DateTime }
static

Function accepts a DateTime argument.

Definition at line 268 of file expressionscamp.inl.

◆ DDur

Box * alib::expressions::Signatures::DDur = { &Types::DateTime , &Types::Duration }
static

Function accepts a DateTime argument; followed by a Duration.

Definition at line 270 of file expressionscamp.inl.

◆ Dur

Box * alib::expressions::Signatures::Dur = { &Types::Duration }
static

Function accepts a Duration argument.

Definition at line 269 of file expressionscamp.inl.

◆ F

Box * alib::expressions::Signatures::F = { &Types::Float }
static

Function accepts one floating point argument.

Definition at line 257 of file expressionscamp.inl.

◆ FF

Box * alib::expressions::Signatures::FF = { &Types::Float , &Types::Float }
static

Function accepts two floating point arguments.

Definition at line 258 of file expressionscamp.inl.

◆ I

Box * alib::expressions::Signatures::I = { &Types::Integer }
static

Function accepts one integral argument.

Definition at line 254 of file expressionscamp.inl.

◆ II

Box * alib::expressions::Signatures::II = { &Types::Integer , &Types::Integer }
static

Function accepts two integral arguments.

Definition at line 255 of file expressionscamp.inl.

◆ IVar

Box * alib::expressions::Signatures::IVar = { &Types::Integer , nullptr }
static

Function accepts one integral argument, followed by variadic arguments.

Definition at line 256 of file expressionscamp.inl.

◆ S

Box * alib::expressions::Signatures::S = { &Types::String }
static

Function accepts one string argument.

Definition at line 259 of file expressionscamp.inl.

◆ SI

Box * alib::expressions::Signatures::SI = { &Types::String , &Types::Integer }
static

Function accepts one string argument, followed by an integral argument.

Definition at line 262 of file expressionscamp.inl.

◆ SII

Box * alib::expressions::Signatures::SII = { &Types::String , &Types::Integer , &Types::Integer }
static

Function accepts one string argument, followed by two integral arguments.

Definition at line 265 of file expressionscamp.inl.

◆ SS

Box * alib::expressions::Signatures::SS = { &Types::String , &Types::String }
static

Function accepts two string arguments.

Definition at line 261 of file expressionscamp.inl.

◆ SSB

Box * alib::expressions::Signatures::SSB = { &Types::String , &Types::String , &Types::Boolean }
static

Function accepts two string arguments, followed by a boolean argument.

Definition at line 263 of file expressionscamp.inl.

◆ SSI

Box * alib::expressions::Signatures::SSI = { &Types::String , &Types::String , &Types::Integer }
static

Function accepts two string arguments, followed by an integral argument.

Definition at line 264 of file expressionscamp.inl.

◆ SSS

Box * alib::expressions::Signatures::SSS = { &Types::String , &Types::String , &Types::String }
static

Function accepts three string arguments.

Definition at line 266 of file expressionscamp.inl.

◆ SVar

Box * alib::expressions::Signatures::SVar = { &Types::String , nullptr }
static

Function accepts one string argument, followed by variadic arguments.

Definition at line 260 of file expressionscamp.inl.

◆ Var

Box * alib::expressions::Signatures::Var = { nullptr }
static

Function accepts variadic arguments.

Definition at line 251 of file expressionscamp.inl.


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