ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
expressionscamp.inl File Reference

Description:

This header-file is part of module ALib Expressions of the ALib C++ Library.

© 2013-2025 A-Worx GmbH, Germany. Published under Boost Software License.

Definition in file expressionscamp.inl.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  alib::expressions::ERBinaryOperator
 
struct  alib::expressions::EROperatorAlias
 
class  alib::expressions::ExpressionsCamp
 
struct  alib::expressions::FToLiteral
 
struct  alib::expressions::Signatures
 
struct  alib::expressions::Types
 

Namespaces

namespace  alib
 
namespace  alib::expressions
 

Typedefs

using alib::expressions::ArgIterator = StdVectorMono<Box>::iterator
 
using alib::expressions::CallbackDecl = Box (*)( Scope& scope, ArgIterator argsBegin, ArgIterator argsEnd )
 
using alib::expressions::Type = const alib::boxing::Box&
 

Enumerations

enum class  alib::expressions::Compilation {
  alib::expressions::DefaultUnaryOperators = (1 << 1) , alib::expressions::DefaultBinaryOperators = (1 << 2) , alib::expressions::DefaultAlphabeticOperatorAliases = (1 << 3) , alib::expressions::AlphabeticOperatorsIgnoreCase = (1 << 4) ,
  alib::expressions::AllowSubscriptOperator = (1 << 5) , alib::expressions::AliasEqualsOperatorWithAssignOperator = (1 << 6) , alib::expressions::AllowBitwiseBooleanOperators = (1 << 7) , alib::expressions::AllowOmittingParenthesesOfParameterlessFunctions = (1 << 8) ,
  alib::expressions::AllowEmptyParenthesesForIdentifierFunctions = (1 << 9) , alib::expressions::AllowCompileTimeNestedExpressions = (1 << 10) , alib::expressions::AllowIdentifiersForNestedExpressions = (1 << 11) , alib::expressions::CaseSensitiveNamedExpressions = (1 << 12) ,
  alib::expressions::PluginExceptionFallThrough = (1 << 13) , alib::expressions::CallbackExceptionFallThrough = (1 << 14) , alib::expressions::NoOptimization = (1 << 20) , alib::expressions::DEFAULT
}
 
enum class  alib::expressions::CompilePriorities {
  alib::expressions::NONE = 0 , alib::expressions::ElvisOperator = 100 , alib::expressions::AutoCast = 200 , alib::expressions::Strings = 300 ,
  alib::expressions::Arithmetics = 400 , alib::expressions::Math = 500 , alib::expressions::DateAndTime = 600 , alib::expressions::Custom = 1000
}
 
enum class  alib::expressions::DefaultAlphabeticBinaryOperatorAliases {
  alib::expressions::And , alib::expressions::Or , alib::expressions::Sm , alib::expressions::Smaller ,
  alib::expressions::SmEq , alib::expressions::SmallerOrEqual , alib::expressions::Gt , alib::expressions::Greater ,
  alib::expressions::GtEq , alib::expressions::GreaterOrEqual , alib::expressions::Eq , alib::expressions::Equals ,
  alib::expressions::NEq , alib::expressions::NotEqual
}
 
enum class  alib::expressions::DefaultAlphabeticUnaryOperatorAliases { alib::expressions::Not }
 
enum class  alib::expressions::DefaultBinaryOperators {
  alib::expressions::NONE , alib::expressions::Subscript , alib::expressions::Multiply , alib::expressions::Divide ,
  alib::expressions::Modulo , alib::expressions::Add , alib::expressions::Subtract , alib::expressions::ShiftLeft ,
  alib::expressions::ShiftRight , alib::expressions::Smaller , alib::expressions::SmallerOrEqual , alib::expressions::Greater ,
  alib::expressions::GreaterOrEqual , alib::expressions::Equal , alib::expressions::NotEqual , alib::expressions::BitAnd ,
  alib::expressions::BitXOr , alib::expressions::BitOr , alib::expressions::BoolAnd , alib::expressions::BoolOr ,
  alib::expressions::Assign , alib::expressions::Elvis
}
 
enum class  alib::expressions::DefaultUnaryOperators {
  alib::expressions::NONE , alib::expressions::Positive , alib::expressions::Negative , alib::expressions::BoolNot ,
  alib::expressions::BitNot , alib::expressions::Indirection
}
 
enum class  alib::expressions::Exceptions {
  alib::expressions::SyntaxError =1 , alib::expressions::ExpressionInfo = -1 , alib::expressions::StdExceptionInfo =-2 , alib::expressions::EmptyExpressionString =2 ,
  alib::expressions::SyntaxErrorExpectation =5 , alib::expressions::UnknownUnaryOperatorSymbol =6 , alib::expressions::UnknownBinaryOperatorSymbol =7 , alib::expressions::UnknownIdentifier =14 ,
  alib::expressions::UnknownFunction =15 , alib::expressions::FunctionHint =-15 , alib::expressions::UnaryOperatorNotDefined =16 , alib::expressions::BinaryOperatorNotDefined =17 ,
  alib::expressions::MissingFunctionParentheses =22 , alib::expressions::IdentifierWithFunctionParentheses =23 , alib::expressions::IncompatibleTypesInConditional =25 , alib::expressions::ExceptionInPlugin =30 ,
  alib::expressions::ExceptionInCallback =40 , alib::expressions::NamedExpressionNotConstant =50 , alib::expressions::NamedExpressionNotFound =51 , alib::expressions::NestedExpressionNotFoundCT =52 ,
  alib::expressions::NestedExpressionCallArgumentMismatch =53 , alib::expressions::NestedExpressionNotFoundET =54 , alib::expressions::WhenEvaluatingNestedExpression =-54 , alib::expressions::NestedExpressionResultTypeError = 55 ,
  alib::expressions::CircularNestedExpressions = 56 , alib::expressions::CircularNestedExpressionsInfo =-56 , alib::expressions::InExpressionFormatter =-500
}
 
enum class  alib::expressions::Normalization : uint64_t {
  alib::expressions::ReplaceFunctionNames = (1LLU << 1) , alib::expressions::ReplaceAliasOperators = (1LLU << 2) , alib::expressions::ReplaceVerbalOperatorsToSymbolic = (1LLU << 3) , alib::expressions::ReplaceVerbalOperatorsToLowerCase = (1LLU << 4) ,
  alib::expressions::ReplaceVerbalOperatorsToUpperCase = (1LLU << 5) , alib::expressions::ReplaceVerbalOperatorsToDefinedLetterCase = (1LLU << 6) , alib::expressions::QuoteUnaryNestedExpressionOperatorArgument = (1LLU << 7) , alib::expressions::RemoveRedundantUnaryOpsOnNumberLiterals = (1LLU << 8) ,
  alib::expressions::UnaryOpSpace = (1LLU << 9) , alib::expressions::UnaryOpSpaceIfUnaryFollows = (1LLU << 10) , alib::expressions::UnaryOpSpaceIfBracketFollows = (1LLU << 11) , alib::expressions::UnaryOpInnerBracketSpace = (1LLU << 12) ,
  alib::expressions::RedundantBracketsBetweenTwoUnaryOps = (1LLU << 13) , alib::expressions::RedundantUnaryOpBrackets = (1LLU << 14) , alib::expressions::BinaryOpSpaces = (1LLU << 15) , alib::expressions::InnerBracketSpace = (1LLU << 16) ,
  alib::expressions::OuterBracketSpace = (1LLU << 17) , alib::expressions::RedundantRhsBracketsIfRhsIsStrongerBinaryOp = (1LLU << 18) , alib::expressions::RedundantBracketsIfLhsAndRhsAreBinaryOps = (1LLU << 19) , alib::expressions::RedundantBinaryOpBrackets = (1LLU << 20) ,
  alib::expressions::ConditionalOpSpaceBeforeQM = (1LLU << 21) , alib::expressions::ConditionalOpSpaceAfterQM = (1LLU << 22) , alib::expressions::ConditionalOpSpaceBeforeColon = (1LLU << 23) , alib::expressions::ConditionalOpSpaceAfterColon = (1LLU << 24) ,
  alib::expressions::RedundantConditionalOpBrackets = (1LLU << 25) , alib::expressions::FunctionSpaceBeforeOpeningBracket = (1LLU << 26) , alib::expressions::FunctionInnerBracketSpace = (1LLU << 27) , alib::expressions::FunctionInnerBracketSpaceIfNoArguments = (1LLU << 28) ,
  alib::expressions::FunctionSpaceBeforeComma = (1LLU << 29) , alib::expressions::FunctionSpaceAfterComma = (1LLU << 30) , alib::expressions::SubscriptSpaceBeforeBrackets = (1LLU << 31) , alib::expressions::SubscriptInnerBracketSpace = (1LLU << 32) ,
  alib::expressions::KeepScientificFormat = (1LLU << 33 ) , alib::expressions::ForceHexadecimal = (1LLU << 34 ) , alib::expressions::ForceOctal = (1LLU << 35 ) , alib::expressions::ForceBinary = (1LLU << 36 ) ,
  alib::expressions::NONE = 0L , alib::expressions::COMPACT = 0L , alib::expressions::DEFAULT
}