10# if !defined (HPP_ALIB_EXPRESSIONS_STANDARD_REPOSITORY)
13# if !defined (HPP_ALIB_CONFIG_CONFIGURATION)
16# if !defined (HPP_ALIB_CONFIG_VARIABLE)
21namespace alib {
namespace expressions {
27 if( std::get<0>( entry ) == slot )
30 var.
Declare( std::get<1>( entry ), std::get<2>( entry ) );
32 var.
Add( compiler->
GetNamed( std::get<3>( entry ))->GetNormalizedString() );
56 while( underscorePos > 0 )
60 category.
Split( underscorePos, name, 1 );
67 underscorePos= identifier.
IndexOf(
'_', underscorePos + 1 );
74 if( result.IsNotNull() )
ALIB_API Priorities Load(Variable &variable)
ALIB_API Priorities Store(Variable &variable, const String &externalizedValue=nullptr)
void SetPriority(Priorities priority)
ALIB_API void Add(const String &value)
ALIB_API Variable & Declare(const VariableDecl &declaration, const Box &replacements)
const String & GetString(int idx=0)
Priorities Priority() const
virtual ALIB_API SPExpression GetNamed(const String &name)
virtual ALIB_API bool Get(const String &identifier, AString &target) override
std::vector< std::tuple< Priorities, AString, AString, String > > VariablesLoaded
std::vector< AString > DefaultCategories
ALIB_API int StoreLoadedExpressions(Compiler *compiler, Priorities slot=Priorities::Standard)
virtual const String & Get(const NString &category, const NString &name, bool dbgAssert)=0
integer IndexOf(TChar needle, integer startIdx=0) const
TSubstring & Split(integer position, TSubstring &target, integer separatorWidth=0, bool trim=false)
lang::integer integer
Type alias in namespace alib.