openMSX
|
#include <TclObject.hh>
Classes | |
struct | MakeDictTag |
struct | MakeListTag |
Public Member Functions | |
TclObject () | |
TclObject (Tcl_Obj *o) | |
template<typename T > | |
TclObject (T t) | |
TclObject (const TclObject &o) | |
TclObject (TclObject &&o) noexcept | |
template<typename... Args> | |
TclObject (MakeListTag, Args &&... args) | |
template<typename... Args> | |
TclObject (MakeDictTag, Args &&... args) | |
~TclObject () | |
TclObject & | operator= (const TclObject &other) |
TclObject & | operator= (TclObject &other) |
TclObject & | operator= (TclObject &&other) noexcept |
template<typename T > | |
TclObject & | operator= (T &&t) |
Tcl_Obj * | getTclObject () |
Tcl_Obj * | getTclObjectNonConst () const |
template<typename T > | |
void | addListElement (const T &t) |
template<typename ITER > | |
void | addListElements (ITER first, ITER last) |
template<typename Range > | |
void | addListElements (Range &&range) |
template<typename... Args> | |
void | addListElement (Args &&... args) |
template<typename Key , typename Value > | |
void | addDictKeyValue (const Key &key, const Value &value) |
template<typename... Args> | |
void | addDictKeyValues (Args &&... args) |
zstring_view | getString () const |
int | getInt (Interpreter &interp) const |
bool | getBoolean (Interpreter &interp) const |
double | getDouble (Interpreter &interp) const |
span< const uint8_t > | getBinary () const |
unsigned | getListLength (Interpreter &interp) const |
TclObject | getListIndex (Interpreter &interp, unsigned index) const |
TclObject | getDictValue (Interpreter &interp, const TclObject &key) const |
template<typename Key > | |
TclObject | getDictValue (Interpreter &interp, const Key &key) const |
std::optional< int > | getOptionalInt () const |
unsigned | size () const |
bool | empty () const |
auto | begin () const |
auto | end () const |
bool | evalBool (Interpreter &interp) const |
TclObject | executeCommand (Interpreter &interp, bool compile=false) |
Interpret this TclObject as a command and execute it. More... | |
Friends | |
bool | operator== (const TclObject &x, const TclObject &y) |
bool | operator== (const TclObject &x, std::string_view y) |
bool | operator== (std::string_view x, const TclObject &y) |
bool | operator!= (const TclObject &x, const TclObject &y) |
bool | operator!= (const TclObject &x, std::string_view y) |
bool | operator!= (std::string_view x, const TclObject &y) |
Definition at line 23 of file TclObject.hh.
|
inline |
Definition at line 73 of file TclObject.hh.
Referenced by executeCommand(), getDictValue(), and getListIndex().
|
inlineexplicit |
Definition at line 74 of file TclObject.hh.
|
inlineexplicit |
Definition at line 75 of file TclObject.hh.
References t.
|
inline |
Definition at line 76 of file TclObject.hh.
|
inlinenoexcept |
Definition at line 77 of file TclObject.hh.
|
inline |
Definition at line 81 of file TclObject.hh.
|
inline |
Definition at line 87 of file TclObject.hh.
References addDictKeyValues().
|
inline |
Definition at line 92 of file TclObject.hh.
|
inline |
Definition at line 144 of file TclObject.hh.
References addDictKeyValues().
Referenced by openmsx::MachineExtensionInfo::execute(), openmsx::ConfigInfo::execute(), and openmsx::MSXDevice::getDeviceInfo().
|
inline |
Definition at line 147 of file TclObject.hh.
Referenced by addDictKeyValue(), openmsx::RomInfoTopic::execute(), openmsx::SoftwareInfoTopic::execute(), openmsx::MSXRom::getExtraDeviceInfo(), and TclObject().
|
inline |
Definition at line 138 of file TclObject.hh.
|
inline |
Definition at line 130 of file TclObject.hh.
References addListElement(), and t.
Referenced by openmsx::FloatSetting::additionalInfo(), openmsx::IntegerSetting::additionalInfo(), openmsx::VideoSourceSetting::additionalInfo(), openmsx::EnumSettingBase::additionalInfoBase(), addListElement(), openmsx::CPUCore< CPU_POLICY >::disasmCommand(), openmsx::DiskCommand::execute(), openmsx::HDCommand::execute(), openmsx::CDXCommand::execute(), openmsx::LSXCommand::execute(), openmsx::MSXDevice::getNameList(), openmsx::MSXMultiIODevice::getNameList(), openmsx::MSXMultiMemDevice::getNameList(), openmsx::OSDWidget::getProperty(), openmsx::OSDText::getProperty(), openmsx::BaseSetting::info(), and TEST_CASE().
|
inline |
Definition at line 131 of file TclObject.hh.
Referenced by openmsx::VideoSourceSetting::additionalInfo(), openmsx::EnumSettingBase::additionalInfoBase(), addListElements(), openmsx::RomInfoTopic::execute(), openmsx::MachineExtensionInfo::execute(), openmsx::DeviceInfo::execute(), openmsx::ConfigInfo::execute(), openmsx::ListExtCmd::execute(), openmsx::ListMachinesCommand::execute(), and TEST_CASE().
|
inline |
Definition at line 135 of file TclObject.hh.
References addListElements(), begin(), and end().
|
inline |
Definition at line 170 of file TclObject.hh.
Referenced by TEST_CASE().
|
inline |
|
inline |
bool openmsx::TclObject::evalBool | ( | Interpreter & | interp | ) | const |
Definition at line 171 of file TclObject.cc.
TclObject openmsx::TclObject::executeCommand | ( | Interpreter & | interp, |
bool | compile = false |
||
) |
Interpret this TclObject as a command and execute it.
interp | The Tcl interpreter |
compile | Should the command be compiled to bytecode? The bytecode is stored inside the TclObject can speed up future invocations of the same command. Only set this flag when the command will be executed more than once. |
Definition at line 181 of file TclObject.cc.
References TclObject().
Referenced by openmsx::BreakPointBase::checkAndExecute(), openmsx::AfterCmd::execute(), openmsx::CassettePlayerCLI::parseFileType(), openmsx::LaserdiscPlayerCLI::parseFileType(), openmsx::ReplayCLI::parseFileType(), openmsx::SaveStateCLI::parseFileType(), openmsx::CDImageCLI::parseOption(), and TEST_CASE().
span< const uint8_t > openmsx::TclObject::getBinary | ( | ) | const |
bool openmsx::TclObject::getBoolean | ( | Interpreter & | interp | ) | const |
Definition at line 91 of file TclObject.cc.
Referenced by openmsx::BooleanSetting::BooleanSetting(), openmsx::BooleanSetting::getBoolean(), openmsx::detail::GetArg< bool >::operator()(), openmsx::OSDWidget::setProperty(), and TEST_CASE().
|
inline |
Definition at line 161 of file TclObject.hh.
References getDictValue(), and TclObject().
TclObject openmsx::TclObject::getDictValue | ( | Interpreter & | interp, |
const TclObject & | key | ||
) | const |
Definition at line 161 of file TclObject.cc.
References TclObject().
Referenced by getDictValue(), and TEST_CASE().
double openmsx::TclObject::getDouble | ( | Interpreter & | interp | ) | const |
Definition at line 101 of file TclObject.cc.
Referenced by openmsx::FloatSetting::FloatSetting(), openmsx::FloatSetting::getDouble(), openmsx::detail::GetArg< double >::operator()(), openmsx::OSDWidget::setProperty(), openmsx::OSDImageBasedWidget::setProperty(), openmsx::OSDRectangle::setProperty(), openmsx::OSDText::setProperty(), and TEST_CASE().
int openmsx::TclObject::getInt | ( | Interpreter & | interp | ) | const |
Definition at line 72 of file TclObject.cc.
Referenced by openmsx::IntegerSetting::getInt(), openmsx::IntegerSetting::IntegerSetting(), openmsx::detail::GetArg< int >::operator()(), openmsx::OSDRectangle::setProperty(), openmsx::OSDText::setProperty(), and TEST_CASE().
TclObject openmsx::TclObject::getListIndex | ( | Interpreter & | interp, |
unsigned | index | ||
) | const |
Definition at line 143 of file TclObject.cc.
References TclObject().
Referenced by openmsx::InputEventFactory::createInputEvent(), and TEST_CASE().
unsigned openmsx::TclObject::getListLength | ( | Interpreter & | interp | ) | const |
Definition at line 125 of file TclObject.cc.
Referenced by openmsx::InputEventFactory::createInputEvent(), openmsx::DiskCommand::execute(), and TEST_CASE().
std::optional< int > openmsx::TclObject::getOptionalInt | ( | ) | const |
Definition at line 82 of file TclObject.cc.
zstring_view openmsx::TclObject::getString | ( | ) | const |
Definition at line 111 of file TclObject.cc.
References gl::length().
Referenced by openmsx::InputEventFactory::createInputEvent(), openmsx::EnumSetting< T >::EnumSetting(), openmsx::BaseSetting::getBaseName(), openmsx::BreakPointBase::getCommand(), openmsx::AfterCmd::getCommand(), openmsx::BreakPointBase::getCondition(), openmsx::BaseSetting::getFullName(), openmsx::OSDWidget::getName(), openmsx::MSXMultiIODevice::getName(), openmsx::MSXMultiMemDevice::getName(), openmsx::VideoSourceSetting::getSource(), openmsx::EnumSetting< T >::getString(), openmsx::FilenameSetting::getString(), openmsx::StringSetting::getString(), openmsx::KeyCodeSetting::KeyCodeSetting(), openmsx::Setting::notifyPropertyChange(), openmsx::XXTclHasher::operator()(), openmsx::detail::GetArg< std::string >::operator()(), openmsx::detail::GetArg< std::string_view >::operator()(), openmsx::Interpreter::registerSetting(), openmsx::OSDRectangle::setProperty(), openmsx::OSDText::setProperty(), TEST_CASE(), and openmsx::VideoSourceSetting::VideoSourceSetting().
|
inline |
Definition at line 126 of file TclObject.hh.
|
inline |
Definition at line 127 of file TclObject.hh.
Referenced by openmsx::Interpreter::setVariable().
Definition at line 95 of file TclObject.hh.
|
inline |
Definition at line 114 of file TclObject.hh.
References t.
Definition at line 109 of file TclObject.hh.
Definition at line 102 of file TclObject.hh.
|
inline |
Definition at line 168 of file TclObject.hh.
Referenced by empty(), end(), and TEST_CASE().
Definition at line 195 of file TclObject.hh.
|
friend |
Definition at line 196 of file TclObject.hh.
|
friend |
Definition at line 197 of file TclObject.hh.
Definition at line 185 of file TclObject.hh.
|
friend |
Definition at line 188 of file TclObject.hh.
|
friend |
Definition at line 191 of file TclObject.hh.