59#define l61_interface_cast(type, obj) l61::dyn_cast<type, decltype(obj)>(obj)
70#define l61_no_copy(type) \
71type(const type&) = delete; \
78 template<
class K,
class V>
79 using HashMap = std::unordered_map<K, V>;
81 template<
typename... T>
87namespace fs = std::filesystem;
89using std::literals::operator
""s;
94 using flag_t = std::uint8_t;
108 return "ScriptMode::ShellScriptMode"s;
110 return "ScriptMode::BuildScriptMode"s;
112 return "ScriptMode::UndefMode"s;
131 template<
typename... vT>
132 [[__gnu__::__always_inline__]] __inline
void cout_print(
const vT&... vals)
134 (std::cout << ... << vals);
178struct std::formatter<
l61::ScriptMode> : std::formatter<std::string> {
182 return std::formatter<std::string>::format(result, ctx);
#define l61_abstract_class
Denotes that the class is abstract with most functions being implemented leaving a few functions to b...
Definition PseudoKeywords.hpp:63
This is an event bus leveraging l61::EventSystem::Event.
Definition EventBus.hpp:49
Definition ExtensionManager.hpp:31
l61_abstract_class AbstractScriptDebugger
Definition defs.hpp:172
__inline std::string scrModeToStr(ScriptMode script_mode)
Definition defs.hpp:102
__inline ScriptMode toScriptMode(const std::string &str)
Definition defs.hpp:116
ScriptMode
Definition defs.hpp:96
@ BuildScriptMode
Definition defs.hpp:99
@ UndefMode
Definition defs.hpp:97
@ ShellScriptMode
Definition defs.hpp:98
std::unique_ptr< T... > AutoPointer
Definition defs.hpp:81
__inline void cout_print(const vT &... vals)
Definition defs.hpp:131
std::unordered_map< K, V > HashMap
Definition defs.hpp:78
std::queue< c_signal_t > SignalQueue_t
Definition baseTypes.hpp:29
std::uint8_t flag_t
Definition defs.hpp:93
NLOHMANN_DEFINE_TYPE_INTRUSIVE(ConfigRecord, spaths, extension)
std::vector< std::string > spaths
Definition defs.hpp:143
std::vector< std::string > extension
Definition defs.hpp:144
flag_t verbose
Definition defs.hpp:153
ScriptMode runMode
Definition defs.hpp:150
EventSystem::EventBus eventBus
Definition defs.hpp:155
ConfigRecord config
Definition defs.hpp:152
SignalQueue_t signalQueue
Definition defs.hpp:154
std::unique_ptr< ExtensionSystem::ExtensionManager > extension_manager
Definition defs.hpp:151
ProgramStatus procStat
Definition defs.hpp:167
std::string user_home
Definition defs.hpp:164
std::string work_path
Definition defs.hpp:160
std::string make_file_path
Definition defs.hpp:161
const std::string version
Definition defs.hpp:166
std::string bin_path
Definition defs.hpp:162
std::vector< std::string > spaths
Definition defs.hpp:165
std::string user_name
Definition defs.hpp:163