8#include "Arp/System/Core/Enumerator.hxx"
9#include "Arp/System/Commons/Exceptions/Exceptions.h"
10#include "Arp/System/Commons/Environment.hpp"
13namespace Arp {
namespace System {
namespace Commons {
namespace Configuration
26 bool IsCurrentBuiltIn(
void);
29 size_t currentStart = 0;
30 size_t currentEnd = 0;
47 static bool HasPlaceholder(
const String& input,
const String& placeholder);
48 static bool HasPlaceholder(
const String& input);
49 static bool HasLogicalExpression(
const String& input);
50 static String GetPlaceholderName(
const String& placeholderToken);
58 bool ResolveCondition(
const String& input);
62 T ResolveTo(
const String& input);
69 static bool TryResolveLogicalExpression(
const String& input,
bool& result);
70 static bool TryResolveLogicalExpression(
const String& input,
String& result);
71 static bool HasLogicalExpression(
const std::string& input);
76 static const String envVarSeperator;
82inline bool PlaceholderExpression::HasLogicalExpression(
const String& input)
84 return PlaceholderExpression::HasLogicalExpression(input.
GetBaseString());
88inline T PlaceholderExpression::ResolveTo(
const String& input)
95 std::istringstream iss(this->Resolve(input));
97 iss >> std::boolalpha >> result;
106inline PlaceholderExpression::Enumerator PlaceholderExpression::GetEnumerator(
const String& input)
108 return Enumerator(input);
This class defines a base class for all enumerator implementations and some predefined enumerators as...
Definition: Enumerator.hxx:22
Enumerator(void)=default
Constructs an Enumerator instance.
This exception is used when an invalid argument occurs.
Definition: ArgumentException.hpp:15
Definition: PlaceholderExpression.hpp:20
bool MoveNext(void) override
Moves this enumerator to the next position.
Definition: PlaceholderExpression.hpp:17
PlaceholderExpression(const PlaceholderExpression &arg)=default
Copy constructor.
~PlaceholderExpression(void)=default
Destructs this instance and frees all resources.
PlaceholderExpression & operator=(const PlaceholderExpression &arg)=default
Assignment operator.
PlaceholderExpression(void)=default
Constructs an PlaceholderExpression instance.
bool IsEmpty() const
Determines if this string is empty.
Definition: BasicString.hxx:1086
const BaseString & GetBaseString() const
Gets the basic std string.
Definition: BasicString.hxx:1511
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API