virtual void Shutdown(ShutdownPhases phase) override
virtual void Bootstrap() override
Initializes this camp.
#define ALIB_ENUMS_MAKE_BITWISE(TEnum)
#define ALIB_ENUMS_ASSIGN_RECORD(TEnum, TRecord)
#define ALIB_BOXING_VTABLE_DECLARE(TMapped, Identifier)
#define ALIB_ENUMS_MAKE_ARITHMETICAL(TEnum)
#define ALIB_RESOURCED_IN_MODULE(T, Camp, ResName)
DefaultAlphabeticUnaryOperatorAliases
@ Not
Verbal alias "Not" to operator '!'.
@ AutoCast
Auto-cast plug-in.
@ DateAndTime
Collection of date and time functions based on alib::time.
@ Arithmetics
Collection of built-in unary and binary operators for boolean, integer and floating point values.
@ Strings
Built-in String comparison and manipulation.
@ Math
Collection of built-in unary and binary operators for boolean, integer and floating point values.
@ NONE
Used to denote that no variable or plug-in was found.
DefaultAlphabeticBinaryOperatorAliases
@ Gt
Verbal alias "Gt" to operator '>'.
@ Equals
Verbal alias "Equals" to operator '=='.
@ Sm
Verbal alias "Sm" to operator '<'.
@ Eq
Verbal alias "Eq" to operator '=='.
@ Or
Verbal alias "Or" to boolean or operator '||'.
@ SmEq
Verbal alias "Smeq" to operator '<='.
@ GtEq
Verbal alias "Gteq" to operator '>='.
@ And
Verbal alias "And" to boolean and operator '&&'.
@ NEq
Verbal alias "Neq" to operator '!='.
Box(*)(Scope &scope, ArgIterator argsBegin, ArgIterator argsEnd) CallbackDecl
StdVectorMono< Box >::iterator ArgIterator
@ BitOr
Binary or ('|'). "or"s all bits of two integral values. Precedence 450.
@ SmallerOrEqual
Smaller or equal operator ('<='). Precedence 600.
@ Divide
Arithmetic division ('/'). Precedence 900.
@ NotEqual
Not equal operator ('!='). Precedence 500.
@ Subtract
Arithmetic subtraction ('-'). Precedence 800.
@ BoolAnd
Boolean and ('&&'). Result is boolean. Precedence 440.
@ Modulo
Arithmetic modulo ('%'). Precedence 900.
@ BoolOr
Boolean or ('||'). Result is boolean. Precedence 430.
@ GreaterOrEqual
Greater or equal operator ('>='). Precedence 600.
@ BitXOr
Binary xor ('^'). "xor"s all bits of two integral values. Precedence 460.
@ Greater
Greater operator ('>'). Precedence 600.
@ Subscript
Array subscripting ('[]'). Precedence hardcoded with parser.
@ Smaller
Smaller operator ('<'). Precedence 600.
@ ShiftLeft
Bitwise shifting of integral values ('<<'). Precedence 700.
@ Multiply
Arithmetic multiplication ('*'). Precedence 900.
@ BitAnd
Binary and ('&'). "and"s all bits of two integral values. Precedence 470.
@ Add
Arithmetic addition ('+'). Precedence 800.
@ ShiftRight
Bitwise shifting of integral values ('>>'). Precedence 700.
@ Equal
Equal operator ('=='). Precedence 500.
const alib::boxing::Box & Type
@ FunctionInnerBracketSpace
@ ConditionalOpSpaceBeforeQM
@ RedundantUnaryOpBrackets
@ QuoteUnaryNestedExpressionOperatorArgument
@ ReplaceVerbalOperatorsToLowerCase
See sibling flag ReplaceVerbalOperatorsToSymbolic.
@ FunctionSpaceBeforeOpeningBracket
@ FunctionSpaceBeforeComma
@ UnaryOpSpaceIfUnaryFollows
@ RedundantRhsBracketsIfRhsIsStrongerBinaryOp
@ ConditionalOpSpaceAfterQM
@ UnaryOpSpaceIfBracketFollows
@ ReplaceVerbalOperatorsToDefinedLetterCase
See sibling flag ReplaceVerbalOperatorsToSymbolic.
@ FunctionSpaceAfterComma
@ UnaryOpInnerBracketSpace
@ ConditionalOpSpaceBeforeColon
@ SubscriptSpaceBeforeBrackets
@ RedundantBracketsBetweenTwoUnaryOps
@ RedundantBracketsIfLhsAndRhsAreBinaryOps
@ SubscriptInnerBracketSpace
@ FunctionInnerBracketSpaceIfNoArguments
@ RedundantConditionalOpBrackets
@ ReplaceVerbalOperatorsToSymbolic
@ RedundantBinaryOpBrackets
@ RemoveRedundantUnaryOpsOnNumberLiterals
@ ReplaceVerbalOperatorsToUpperCase
See sibling flag ReplaceVerbalOperatorsToSymbolic.
@ ConditionalOpSpaceAfterColon
@ PluginExceptionFallThrough
@ DefaultAlphabeticOperatorAliases
@ AllowCompileTimeNestedExpressions
@ AllowEmptyParenthesesForIdentifierFunctions
@ CaseSensitiveNamedExpressions
@ AllowIdentifiersForNestedExpressions
@ AllowBitwiseBooleanOperators
@ CallbackExceptionFallThrough
@ AlphabeticOperatorsIgnoreCase
@ AliasEqualsOperatorWithAssignOperator
@ AllowOmittingParenthesesOfParameterlessFunctions
@ NestedExpressionResultTypeError
@ NestedExpressionCallArgumentMismatch
@ UnknownIdentifier
Compile-time exception thrown when an expression uses an unknown identifier name.
@ CircularNestedExpressions
@ UnaryOperatorNotDefined
@ UnknownFunction
Compile-time exception thrown when an expression uses an unknown function name.
@ NamedExpressionNotFound
Compile-time exception thrown when an expression refers to an unknown named nested expression.
@ MissingFunctionParentheses
@ UnknownBinaryOperatorSymbol
Unknown binary operator symbol found when parsing expression string.
@ UnknownUnaryOperatorSymbol
Unknown unary operator symbol found when parsing expression string.
@ IncompatibleTypesInConditional
@ NestedExpressionNotFoundET
@ EmptyExpressionString
Thrown when an empty string is tried to be compiled.
@ NamedExpressionNotConstant
@ IdentifierWithFunctionParentheses
@ NestedExpressionNotFoundCT
@ WhenEvaluatingNestedExpression
@ SyntaxErrorExpectation
Syntax error with concrete information about what the parser expected at given position.
@ CircularNestedExpressionsInfo
@ BinaryOperatorNotDefined
@ SyntaxError
General error thrown by the parser.
@ Positive
'+' operator (usually returns identity value).
@ BitNot
Bitwise not ('~').
@ BoolNot
Boolean not ('!').
@ Negative
'-' operator, negates a value.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
ShutdownPhases
Termination levels usable with Bootstrapping ALib Camps.
boxing::Box Box
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
expressions::ExpressionsCamp EXPRESSIONS
The singleton instance of ALib Camp class ExpressionsCamp.
ALIB_DLL void Parse()
Implementation of EnumRecordPrototype::Parse.
ERBinaryOperator() noexcept=default
String Symbol
The parable symbol of an operator.
int Precedence
The precedence of an operator in respect to other binary operators.
ALIB_DLL void Parse()
Implementation of EnumRecordPrototype::Parse.
EROperatorAlias() noexcept=default
String Replacement
The replacement operator symbol.
String Symbol
The parsable symbol of an alias operator.
void(*)(const Box &constantValue, AString &expressionString) Signature
static ALIB_DLL Box * SI[2]
Function accepts one string argument, followed by an integral argument.
static ALIB_DLL Box * FF[2]
Function accepts two floating point arguments.
static ALIB_DLL Box * B[1]
Function accepts one boolean argument.
static ALIB_DLL Box * IVar[2]
Function accepts one integral argument, followed by variadic arguments.
static ALIB_DLL Box * BB[2]
Function accepts two boolean arguments.
static ALIB_DLL Box * II[2]
Function accepts two integral arguments.
static ALIB_DLL Box * Dur[1]
Function accepts a Duration argument.
static ALIB_DLL Box * SII[3]
Function accepts one string argument, followed by two integral arguments.
static ALIB_DLL Box * SSB[3]
Function accepts two string arguments, followed by a boolean argument.
static ALIB_DLL Box * F[1]
Function accepts one floating point argument.
static ALIB_DLL Box * SVar[2]
Function accepts one string argument, followed by variadic arguments.
static ALIB_DLL Box * SS[2]
Function accepts two string arguments.
static ALIB_DLL Box * Var[1]
Function accepts variadic arguments.
static ALIB_DLL Box * DDur[2]
Function accepts a DateTime argument; followed by a Duration.
static ALIB_DLL Box * SSI[3]
Function accepts two string arguments, followed by an integral argument.
static ALIB_DLL Box * D[1]
Function accepts a DateTime argument.
static ALIB_DLL Box * SSS[3]
Function accepts three string arguments.
static ALIB_DLL Box * S[1]
Function accepts one string argument.
static ALIB_DLL Box * I[1]
Function accepts one integral argument.
static ALIB_DLL Box Duration
Sample type-box for values of type DateTime::Duration).
static ALIB_DLL Box Integer
Sample type-box for integer types. (Precisely for type integer.)
static ALIB_DLL Box Boolean
Sample type-box for C++ type bool.
static ALIB_DLL Box Void
Sample type-box for C++ type void.
static ALIB_DLL Box Float
Sample type-box for C++ type double.
static ALIB_DLL Box DateTime
Sample type-box for date and time values of type DateTime).
static ALIB_DLL Box String