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 22 of file TclObject.hh.
|
inline |
Definition at line 72 of file TclObject.hh.
Referenced by executeCommand(), getDictValue(), and getListIndex().
|
inlineexplicit |
Definition at line 73 of file TclObject.hh.
|
inlineexplicit |
Definition at line 74 of file TclObject.hh.
References t.
|
inline |
Definition at line 75 of file TclObject.hh.
|
inlinenoexcept |
Definition at line 76 of file TclObject.hh.
|
inline |
Definition at line 80 of file TclObject.hh.
|
inline |
Definition at line 86 of file TclObject.hh.
References addDictKeyValues().
|
inline |
Definition at line 91 of file TclObject.hh.
|
inline |
Definition at line 143 of file TclObject.hh.
References addDictKeyValues().
Referenced by openmsx::MachineExtensionInfo::execute(), openmsx::ConfigInfo::execute(), and openmsx::MSXDevice::getDeviceInfo().
|
inline |
Definition at line 146 of file TclObject.hh.
Referenced by addDictKeyValue(), openmsx::RomInfoTopic::execute(), openmsx::SoftwareInfoTopic::execute(), openmsx::MSXRom::getExtraDeviceInfo(), and TclObject().
|
inline |
Definition at line 137 of file TclObject.hh.
|
inline |
Definition at line 129 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 130 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 134 of file TclObject.hh.
References addListElements(), begin(), and end().
|
inline |
Definition at line 169 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 160 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::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 125 of file TclObject.hh.
|
inline |
Definition at line 126 of file TclObject.hh.
Referenced by openmsx::Interpreter::setVariable().
Definition at line 94 of file TclObject.hh.
|
inline |
Definition at line 113 of file TclObject.hh.
References t.
Definition at line 108 of file TclObject.hh.
Definition at line 101 of file TclObject.hh.
|
inline |
Definition at line 167 of file TclObject.hh.
Referenced by empty(), end(), and TEST_CASE().
Definition at line 194 of file TclObject.hh.
|
friend |
Definition at line 195 of file TclObject.hh.
|
friend |
Definition at line 196 of file TclObject.hh.
Definition at line 184 of file TclObject.hh.
|
friend |
Definition at line 187 of file TclObject.hh.
|
friend |
Definition at line 190 of file TclObject.hh.