109 const String& sourceString,
233 template<
typename... TArgs>
248 Expression(
size_t initialBufferSizeInKB,
unsigned int bufferGrowthInPercent )
249 :
TSharedMonoVal(initialBufferSizeInKB, bufferGrowthInPercent ) {}
283namespace APPENDABLES {
314 target << src->GetNormalizedString();
ALIB_DLL integer GetProgramLength()
detail::ProgramBase * GetProgram()
ALIB_DLL String GetOptimizedString()
AString optimizedString
The normalized string generated on request out of optimized expression program.
ALIB_DLL Box ResultType()
ALIB_DLL int CtdOptimizations()
detail::ProgramBase * program
The compiled expression program.
String originalString
The original source string of the expression.
String GetNormalizedString() const
ALIB_DLL ~ExpressionVal()
Destructor.
ALIB_DLL ExpressionVal(MonoAllocator &allocator, const String &sourceString, Scope *pCTScope)
String name
The name of the expression (if named, otherwise resourced, usually "ANONYMOUS" ).
Ticks::Duration DbgLastEvaluationTime
Ticks::Duration DbgAssemblyTime
MonoAllocator & allocator
ALIB_DLL Box Evaluate(Scope &scope)
AString normalizedString
The normalized string as a result of compilation.
String GetOriginalString() const
Ticks::Duration DbgParseTime
Base class exported by the main module ALib.Expressions.H for technical reasons.
void Reset(TArgs &&... args)
TSharedMonoVal(HeapAllocator &allocator, size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent)
AString DbgList(Expression expression)
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
expressions::Expression Expression
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
boxing::Box Box
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
characters::character character
Type alias in namespace alib.
void Reset(TArgs &&... args)
friend class Compiler
The compiler builds this type which by design does not expose a constructor.
Expression(std::nullptr_t) noexcept
Expression()=default
Constructs an empty instance, hence a cleared automatic pointer.
Expression(size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent)
Base class exported by the main module ALib.Expressions.H for technical reasons.
void operator()(AString &target, const expressions::ExpressionVal &src)
void operator()(AString &target, const expressions::Expression &src)