12#ifndef WSFVARIABLE_HPP
13#define WSFVARIABLE_HPP
15#include "wsf_export.h"
22#include "UtScriptData.hpp"
52 bool DefaultOptionPresent(UtInput& aInput);
56 bool ReadReference(UtInput& aInput);
58 bool ResolveReference(
const std::string& aVariableName,
66 bool Initialize(
const std::string& aName,
72 void ReadValue(UtInput& aInput,
double& aValue);
74 void ReadValueOfType(UtInput& aInput, UtInput::ValueType aType,
double& aValue);
79 bool Initialize(
const std::string& aName,
85 void ReadValue(UtInput& aInput,
float& aValue);
87 void ReadValueOfType(UtInput& aInput, UtInput::ValueType aType,
float& aValue);
92 bool Initialize(
const std::string& aName,
98 void ReadValue(UtInput& aInput,
int& aValue);
100 void ReadValueOfType(UtInput& aInput, UtInput::ValueType aType,
int& aValue);
105 bool Initialize(
const std::string& aName,
111 void ReadValue(UtInput& aInput,
bool& aValue);
116 bool Initialize(
const std::string& aName,
122 void ReadValue(UtInput& aInput, std::string& aValue);
127 bool Initialize(
const std::string& aName,
133 void ReadValue(UtInput& aInput,
WsfStringId& aValue);
159 , mValue(aInitialValue)
167 operator T()
const {
return mValue; }
183 mValue = aRhs.mValue;
187 T
operator+(
const T& aRhs)
const {
return operator T() + aRhs; }
189 T
operator-(
const T& aRhs)
const {
return operator T() - aRhs; }
195 mValue =
operator T() + aRhs;
203 mValue =
operator T() - aRhs;
232 aInput.ValueInClosedRange(mValue, aMinValue, aMaxValue);
242 aInput.ValueGreater(mValue, aMinValue);
252 aInput.ValueGreaterOrEqual(mValue, aMinValue);
262 aInput.ValueLess(mValue, aMaxValue);
272 aInput.ValueLessOrEqual(mValue, aMaxValue);
291 , mValue(aInitialValue)
297 , mValue(aInitialValue)
315 operator const std::string&()
const {
return mValue.GetString(); }
319 const std::string&
GetString()
const {
return mValue.GetString(); }
ut::script::Data UtScriptData
Definition WsfScriptContext.hpp:47
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
std::ostream & operator<<(std::ostream &aOut, const WsfVariable< std::string > &aVariable)
Definition WsfVariable.cpp:490
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfComponent.hpp:39
Definition WsfScriptContext.hpp:71
Provides the overall management of the scripting capability within the application and scenarios.
Definition WsfScriptManager.hpp:31
void ReadValueOfType(UtInput &aInput, UtInput::ValueType aType, double &aValue)
Definition WsfVariable.cpp:250
bool HasDefaultValue() const
Has a default value been defined for a reference.
Definition WsfVariable.hpp:46
void ReadValue(UtInput &aInput, double &aValue)
Definition WsfVariable.cpp:233
WsfVariableBase()
Definition WsfVariable.cpp:27
bool mHasDefaultValue
'true' if the '/default' option was provided
Definition WsfVariable.hpp:140
bool IsReference() const
Is the variable a reference to a script variable?
Definition WsfVariable.hpp:49
bool Initialize(const std::string &aName, WsfComponent *aObjectPtr, WsfScriptContext *aContextPtr, double &aValue, WsfScriptContext &aGlobalContext)
Definition WsfVariable.cpp:217
WsfStringId mRefVarNameId
The name (ID) of the referenced variable. It is less than zero if the variable is not a reference.
Definition WsfVariable.hpp:137
WsfStringId operator=(const std::string &aValue)
Definition WsfVariable.hpp:301
WsfStringId GetConstReference() const
Definition WsfVariable.hpp:321
WsfVariable(const std::string &aInitialValue)
Definition WsfVariable.hpp:289
WsfVariable(WsfStringId aInitialValue)
Definition WsfVariable.hpp:295
const std::string & GetString() const
Definition WsfVariable.hpp:319
void ReadValue(UtInput &aInput)
Read a value from an input stream.
Definition WsfVariable.hpp:334
WsfStringId operator=(WsfStringId aValue)
Definition WsfVariable.hpp:307
bool Initialize(const std::string &aName, WsfComponent *aObjectPtr, WsfScriptContext *aContextPtr, WsfScriptContext &aGlobalContext)
Definition WsfVariable.hpp:325
WsfStringId GetId() const
Definition WsfVariable.hpp:317
Definition WsfVariable.hpp:149
T operator-(const T &aRhs) const
Definition WsfVariable.hpp:189
void ReadValueOfType(UtInput &aInput, UtInput::ValueType aType)
Read a unitary value from an input stream.
Definition WsfVariable.hpp:221
void ValueLess(UtInput &aInput, T aMaxValue)
Definition WsfVariable.hpp:258
T GetValue() const
Definition WsfVariable.hpp:169
void ValueInClosedRange(UtInput &aInput, T aMinValue, T aMaxValue)
Definition WsfVariable.hpp:228
void ValueLessOrEqual(UtInput &aInput, T aMaxValue)
Definition WsfVariable.hpp:268
T & operator-=(const T &aRhs)
Definition WsfVariable.hpp:199
void ReadValue(UtInput &aInput)
Read a non-unitary value from an input stream.
Definition WsfVariable.hpp:218
void ValueGreater(UtInput &aInput, T aMinValue)
Definition WsfVariable.hpp:238
T & operator+=(const T &aRhs)
Definition WsfVariable.hpp:191
T operator+(const T &aRhs) const
Definition WsfVariable.hpp:187
void ValueGreaterOrEqual(UtInput &aInput, T aMinValue)
Definition WsfVariable.hpp:248
WsfVariable< T > & operator=(const T &aRhs)
Definition WsfVariable.hpp:171
WsfVariable(const WsfVariable< T > &)=default
bool Initialize(const std::string &aName, WsfComponent *aObjectPtr, WsfScriptContext *aContextPtr, WsfScriptContext &aGlobalContext)
Definition WsfVariable.hpp:209
WsfVariable(const T &aInitialValue)
Definition WsfVariable.hpp:157
WsfVariable< T > & operator=(const WsfVariable< T > &aRhs)
Definition WsfVariable.hpp:179