104 const String& sourceString,
244 template<
typename... TArgs>
259 Expression(
size_t initialBufferSizeInKB,
unsigned bufferGrowthInPercent )
260 :
TSharedMonoVal(initialBufferSizeInKB, bufferGrowthInPercent ) {}
294namespace APPENDABLES {
321 { target << src->GetNormalizedString(); }
integer GetProgramLength()
detail::ProgramBase * GetProgram()
String GetOptimizedString()
AString optimizedString
The normalized string generated on request out of optimized expression program.
detail::ProgramBase * program
The compiled expression program.
String originalString
The original source string of the expression.
String GetNormalizedString() const
~ExpressionVal()
Destructor.
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
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 #"F;ALib.Expressions.H" for technical reasons.
void Reset(TArgs &&... args)
TSharedMonoVal(HeapAllocator &allocator, size_t initialBufferSizeInKB, unsigned bufferGrowthInPercent)
AString DbgList(Expression expression)
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
lang::integer integer
Type alias in namespace alib.
boxing::Box Box
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
expressions::Expression Expression
Type alias in namespace alib.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
characters::character character
Type alias in namespace alib.
void Reset(TArgs &&... args)
Expression(size_t initialBufferSizeInKB, unsigned bufferGrowthInPercent)
Expression(std::nullptr_t) noexcept
Expression()=default
Constructs an empty instance, hence a cleared automatic pointer.
Base class exported by the main module #"F;ALib.Expressions.H" for technical reasons.
void operator()(AString &target, const expressions::ExpressionVal &src)
void operator()(AString &target, const expressions::Expression &src)