|
CPP-TOOLBOX
|
Classes | |
| struct | CustomTypeExtractionSettings |
| class | MetaAttribute |
| class | MetaClass |
| class | MetaCodeCollection |
| class | MetaConstructor |
| class | MetaEnum |
| class | MetaFunction |
| class | MetaFunctionInvocation |
| class | MetaFunctionSignature |
| class | MetaInclude |
| Represents an include directive for C++ source code, providing control over whether it is a system or local include. More... | |
| class | MetaMethod |
| class | MetaParameter |
| class | MetaType |
| class | MetaTypes |
| class | MetaVariable |
| struct | StringInvokerGenerationSettingsForHeaderSource |
| struct | StringToTypeConversions |
Concepts | |
| concept | HasNameAndNamespace |
Typedefs | |
| using | MetaTemplateParameter = std::variant<unsigned int, MetaType> |
Enumerations | |
| enum class | AccessSpecifier { Public , Protected , Private } |
| enum class | FilterMode { None , Whitelist , Blacklist } |
Functions | |
| std::string | create_local_include (const std::string &path) |
| std::vector< float > | parse_vector_of_type (const std::string &input) |
| std::string | create_string_to_vector_of_type_func (MetaType type_parameter) |
| std::string | create_vector_of_type_to_string_func (MetaType type_parameter) |
| std::string | create_vector_of_type_serialize_func (MetaType type_parameter) |
| std::string | create_vector_of_type_serialized_size_func (MetaType type_parameter) |
| std::string | create_vector_of_type_deserialize_func (MetaType type_parameter) |
| std::string | create_string_to_array_of_type_func (MetaType type_parameter, unsigned int size) |
| std::string | create_array_of_type_to_string_func (MetaType type_parameter, unsigned int size) |
| std::string | create_array_of_type_serialize_func (MetaType type_parameter, unsigned int size) |
| std::string | create_array_of_type_serialized_size_func (MetaType type_parameter, unsigned int size) |
| std::string | create_array_of_type_deserialize_func (MetaType type_parameter, unsigned int size) |
| std::string | create_string_to_unordered_map_func (MetaType key_type, MetaType value_type) |
| std::string | create_unordered_map_to_string_func (MetaType key_type, MetaType value_type) |
| std::string | create_unordered_map_serialize_func (MetaType key_type, MetaType value_type) |
| std::string | create_unordered_map_serialized_size_func (MetaType key_type, MetaType value_type) |
| std::string | create_unordered_map_deserialize_func (MetaType key_type, MetaType value_type) |
| MetaType | resolve_meta_type (const std::string &type_str, const MetaTypes &types) |
| MetaClass | create_meta_class_or_struct_from_source (const std::string &source, cpp_parsing::CharParserPtr def_parser, const std::string &unnamed_fallback, const std::string &kind) |
| meta_utils::MetaClass | create_meta_class_from_source (const std::string &source) |
| meta_utils::MetaClass | create_meta_struct_from_source (const std::string &source) |
| meta_utils::MetaType | create_meta_type_from_using (const std::string &source, const meta_utils::MetaTypes &types) |
| meta_utils::MetaEnum | create_meta_enum_from_source (const std::string &source) |
| std::string | to_string_function_name (const std::string &type) |
| std::string | from_string_function_name (const std::string &type) |
| std::string | serialize_function_name (const std::string &type) |
| std::string | size_when_serialized_function_name (const std::string &type) |
| std::string | deserialize_function_name (const std::string &type) |
| MetaType | construct_class_metatype (const MetaClass &cls, const MetaTypes &types) |
| MetaType | construct_enum_metatype (const MetaEnum &enu, const MetaTypes &types) |
| std::vector< std::string > | split_template_args (const std::string &s) |
| std::string | trim (const std::string &s) |
| std::vector< std::string > | split_args (const std::string &args_str) |
| std::string | simplify_parameter (const std::string ¶m_str) |
| std::string | generate_regex_to_match_valid_invocation_of_func (const std::string &signature) |
| std::optional< MetaType > | parse_meta_type_from_string (const std::string &type_str) |
| std::string | clean_type_string (const std::string &raw_type) |
| std::string | generate_string_invoker_for_function_with_string_return_type (const MetaFunctionSignature &sig) |
| StringToTypeConversions | get_code_to_generate_invocation (const std::vector< MetaParameter > ¶ms) |
| std::string | generate_string_invoker_for_function (const MetaFunctionSignature &sig, const std ::string &func_postfix="_string_invoker") |
| Generate an invoker function from it's meta function signature. | |
| std::string | generate_deferred_string_invoker_for_function (const MetaFunctionSignature &sig, const std ::string &func_postfix="_deferred_string_invoker") |
| Generate a deferred invoker function from it's meta function signature. | |
| std::string | join (const std::vector< std::string > &v, const std::string &sep) |
| std::vector< MetaFunction > | generate_string_invokers_to_string (std::vector< MetaFunction > mfs) |
| std::vector< MetaFunction > | generate_string_invokers_to_string (std::vector< MetaFunctionSignature > mfss) |
| std::vector< MetaVariable > | generate_meta_function_signature_variables (std::vector< MetaFunction > meta_functions) |
| std::vector< MetaVariable > | generate_meta_function_signature_variables (std::vector< MetaFunctionSignature > mfss) |
| std::vector< MetaFunction > | generate_string_invokers (std::vector< MetaFunction > mfs) |
| std::vector< MetaFunction > | generate_string_invokers (std::vector< MetaFunctionSignature > mfss) |
| std::vector< std::string > | generate_type_grouped_invokers (const std::vector< meta_utils::MetaFunctionSignature > &mfss, bool create_top_level_invoker) |
| std::string | sanitize_type (const std::string &type_str) |
| std::string | generate_string_invoker_for_function_collection_that_has_same_return_type (std::vector< MetaFunctionSignature > mfss_with_same_return_type, std::string return_type, std::string func_postfix) |
| MetaFunction | create_list_all_available_functions (std::vector< MetaCodeCollection > &generated_mcc_for_each_header_source_pair) |
| MetaFunction | create_interactive_invoker (std::vector< MetaCodeCollection > &generated_mcc_for_each_header_source_pair) |
| std::string | generate_deferred_string_invoker_for_function_collection_that_has_same_return_type (std::vector< MetaFunctionSignature > mfss_with_same_return_type, std::string return_type, std::string func_postfix) |
| std::string | lambda_to_function (const std::string &lambda_str, const std::string &func_name, const std::string &return_type) |
| void | register_custom_types_into_meta_types (const std::vector< CustomTypeExtractionSettings > &settings_list) |
| void | register_custom_types_into_meta_types (const CustomTypeExtractionSettings &custom_type_extraction_settings) |
| void | generate_string_invokers_program_wide (std::vector< StringInvokerGenerationSettingsForHeaderSource > settings, const std::vector< MetaType > &all_types) |
| generates the meta program | |
| MetaCodeCollection | generate_string_invokers_from_header_and_source (const StringInvokerGenerationSettingsForHeaderSource &sigsfhs) |
| MetaCodeCollection | generate_string_invokers_from_header_and_source (const std::string &input_header_path, const std::string &input_source_path, bool create_top_level_invoker, bool create_type_grouped_invokers, const std::vector< std::string > &string_signatures_to_filter_on, FilterMode mode) |
| bool | is_system_header (const std::string &line) |
| bool | is_local_header (const std::string &line) |
| std::vector< std::string > | get_system_headers (const std::vector< std::string > &headers) |
| MetaFunction | generate_interactive_invoker () |
| std::string | create_to_string_lambda (std::string type) |
| MetaType | construct_vector_metatype (MetaType generic_type) |
| MetaType | construct_array_metatype (MetaType generic_type, unsigned int size) |
| MetaType | construct_unordered_map_metatype (MetaType key_type, MetaType value_type) |
| std::unordered_map< std::string, MetaType > | create_type_name_to_meta_type_map (std::vector< MetaType > meta_types) |
| template<HasNameAndNamespace T> | |
| std::string | get_fully_qualified_name (const T &obj) |
| std::string | to_string (AccessSpecifier access) |
Variables | |
| std::unordered_map< char, char > | replacement_map = {{':', '_'}, {' ', '_'}} |
| MetaType | UNSIGNED_INT |
| MetaType | UINT8_T |
| MetaType | UINT32_T |
| MetaType | SIZE_T |
| MetaType | CHAR |
| MetaType | INT |
| MetaType | SHORT |
| MetaType | LONG |
| MetaType | FLOAT |
| MetaType | DOUBLE |
| MetaType | STRING |
| MetaType | FILESYSTEM_PATH |
| MetaType | REGEX |
| MetaType | BOOL |
| meta_utils::MetaType | meta_type_type ("meta_utils::MetaType", "[](){}", "[](){ return \"\";}", "[](){}", "[](const meta_utils::MetaType &v) { return sizeof(meta_utils::MetaType); }", "[](){}", "MetaType") |
| std::vector< MetaType > | concrete_types |
| std::unordered_map< std::string, std::function< MetaType(std::vector< MetaTemplateParameter >)> > | generic_type_to_metatype_constructor |
| std::string | vector_include = "#include <vector>" |
| std::string | string_include = "#include <string>" |
| std::string | optional_include = "#include <optional>" |
| std::string | regex_include = "#include <regex>" |
| MetaTypes | meta_types |
| typedef std::variant< unsigned int, MetaType > meta_utils::MetaTemplateParameter = std::variant<unsigned int, MetaType> |
|
strong |
|
strong |
| std::string meta_utils::clean_type_string | ( | const std::string & | raw_type | ) |
| meta_utils::MetaType meta_utils::construct_class_metatype | ( | const MetaClass & | cls, |
| const MetaTypes & | types ) |
|
inline |
| std::string meta_utils::create_array_of_type_deserialize_func | ( | MetaType | type_parameter, |
| unsigned int | size ) |
| std::string meta_utils::create_array_of_type_serialize_func | ( | MetaType | type_parameter, |
| unsigned int | size ) |
| std::string meta_utils::create_array_of_type_serialized_size_func | ( | MetaType | type_parameter, |
| unsigned int | size ) |
| std::string meta_utils::create_array_of_type_to_string_func | ( | MetaType | type_parameter, |
| unsigned int | size ) |
| MetaFunction meta_utils::create_interactive_invoker | ( | std::vector< MetaCodeCollection > & | generated_mcc_for_each_header_source_pair | ) |
| MetaFunction meta_utils::create_list_all_available_functions | ( | std::vector< MetaCodeCollection > & | generated_mcc_for_each_header_source_pair | ) |
| std::string meta_utils::create_local_include | ( | const std::string & | path | ) |
| meta_utils::MetaClass meta_utils::create_meta_class_from_source | ( | const std::string & | source | ) |
| MetaClass meta_utils::create_meta_class_or_struct_from_source | ( | const std::string & | source, |
| cpp_parsing::CharParserPtr | def_parser, | ||
| const std::string & | unnamed_fallback, | ||
| const std::string & | kind ) |
| meta_utils::MetaEnum meta_utils::create_meta_enum_from_source | ( | const std::string & | source | ) |
| meta_utils::MetaClass meta_utils::create_meta_struct_from_source | ( | const std::string & | source | ) |
| meta_utils::MetaType meta_utils::create_meta_type_from_using | ( | const std::string & | source, |
| const meta_utils::MetaTypes & | types ) |
| std::string meta_utils::create_string_to_array_of_type_func | ( | MetaType | type_parameter, |
| unsigned int | size ) |
| std::string meta_utils::create_string_to_unordered_map_func | ( | MetaType | key_type, |
| MetaType | value_type ) |
| std::string meta_utils::create_string_to_vector_of_type_func | ( | MetaType | type_parameter | ) |
|
inline |
|
inline |
| std::string meta_utils::create_unordered_map_deserialize_func | ( | MetaType | key_type, |
| MetaType | value_type ) |
| std::string meta_utils::create_unordered_map_serialize_func | ( | MetaType | key_type, |
| MetaType | value_type ) |
| std::string meta_utils::create_unordered_map_serialized_size_func | ( | MetaType | key_type, |
| MetaType | value_type ) |
| std::string meta_utils::create_unordered_map_to_string_func | ( | MetaType | key_type, |
| MetaType | value_type ) |
| std::string meta_utils::create_vector_of_type_deserialize_func | ( | MetaType | type_parameter | ) |
| std::string meta_utils::create_vector_of_type_serialize_func | ( | MetaType | type_parameter | ) |
| std::string meta_utils::create_vector_of_type_serialized_size_func | ( | MetaType | type_parameter | ) |
| std::string meta_utils::create_vector_of_type_to_string_func | ( | MetaType | type_parameter | ) |
| std::string meta_utils::deserialize_function_name | ( | const std::string & | type | ) |
| std::string meta_utils::from_string_function_name | ( | const std::string & | type | ) |
| std::string meta_utils::generate_deferred_string_invoker_for_function | ( | const MetaFunctionSignature & | sig, |
| const std ::string & | func_postfix = "_deferred_string_invoker" ) |
Generate a deferred invoker function from it's meta function signature.
This function creates a new function in string form that takes in a string that's supposed to be an invocation of the passed in function and if it is a valid invocation it will pass back a function that's preloaded to do the requested function call, the point of this is so that we ddon't always have to call a function immediately rather than calling it the moment we get the string for it.
| std::string meta_utils::generate_deferred_string_invoker_for_function_collection_that_has_same_return_type | ( | std::vector< MetaFunctionSignature > | mfss_with_same_return_type, |
| std::string | return_type, | ||
| std::string | func_postfix ) |
| MetaFunction meta_utils::generate_interactive_invoker | ( | ) |
| std::vector< MetaVariable > meta_utils::generate_meta_function_signature_variables | ( | std::vector< MetaFunction > | meta_functions | ) |
| std::vector< MetaVariable > meta_utils::generate_meta_function_signature_variables | ( | std::vector< MetaFunctionSignature > | mfss | ) |
| std::string meta_utils::generate_regex_to_match_valid_invocation_of_func | ( | const std::string & | signature | ) |
| std::string meta_utils::generate_string_invoker_for_function | ( | const MetaFunctionSignature & | sig, |
| const std ::string & | func_postfix = "_string_invoker" ) |
Generate an invoker function from it's meta function signature.
This function creates a new function in string form that takes in a string that's supposed to be an invocation of the passed in function and if it is a valid invocation it will call the real internal function
| std::string meta_utils::generate_string_invoker_for_function_collection_that_has_same_return_type | ( | std::vector< MetaFunctionSignature > | mfss_with_same_return_type, |
| std::string | return_type, | ||
| std::string | func_postfix ) |
| std::string meta_utils::generate_string_invoker_for_function_with_string_return_type | ( | const MetaFunctionSignature & | sig | ) |
| std::vector< MetaFunction > meta_utils::generate_string_invokers | ( | std::vector< MetaFunction > | mfs | ) |
| std::vector< MetaFunction > meta_utils::generate_string_invokers | ( | std::vector< MetaFunctionSignature > | mfss | ) |
| MetaCodeCollection meta_utils::generate_string_invokers_from_header_and_source | ( | const std::string & | input_header_path, |
| const std::string & | input_source_path, | ||
| bool | create_top_level_invoker, | ||
| bool | create_type_grouped_invokers, | ||
| const std::vector< std::string > & | string_signatures_to_filter_on, | ||
| FilterMode | mode ) |
| MetaCodeCollection meta_utils::generate_string_invokers_from_header_and_source | ( | const StringInvokerGenerationSettingsForHeaderSource & | sigsfhs | ) |
| void meta_utils::generate_string_invokers_program_wide | ( | std::vector< StringInvokerGenerationSettingsForHeaderSource > | settings, |
| const std::vector< MetaType > & | all_types ) |
generates the meta program
| std::vector< MetaFunction > meta_utils::generate_string_invokers_to_string | ( | std::vector< MetaFunction > | mfs | ) |
| std::vector< MetaFunction > meta_utils::generate_string_invokers_to_string | ( | std::vector< MetaFunctionSignature > | mfss | ) |
| std::vector< std::string > meta_utils::generate_type_grouped_invokers | ( | const std::vector< meta_utils::MetaFunctionSignature > & | mfss, |
| bool | create_top_level_invoker ) |
| StringToTypeConversions meta_utils::get_code_to_generate_invocation | ( | const std::vector< MetaParameter > & | params | ) |
| std::string meta_utils::get_fully_qualified_name | ( | const T & | obj | ) |
| std::vector< std::string > meta_utils::get_system_headers | ( | const std::vector< std::string > & | headers | ) |
| bool meta_utils::is_local_header | ( | const std::string & | line | ) |
| bool meta_utils::is_system_header | ( | const std::string & | line | ) |
| std::string meta_utils::join | ( | const std::vector< std::string > & | v, |
| const std::string & | sep ) |
| std::string meta_utils::lambda_to_function | ( | const std::string & | lambda_str, |
| const std::string & | func_name, | ||
| const std::string & | return_type ) |
| std::optional< MetaType > meta_utils::parse_meta_type_from_string | ( | const std::string & | type_str | ) |
| std::vector< float > meta_utils::parse_vector_of_type | ( | const std::string & | input | ) |
| void meta_utils::register_custom_types_into_meta_types | ( | const CustomTypeExtractionSettings & | custom_type_extraction_settings | ) |
| void meta_utils::register_custom_types_into_meta_types | ( | const std::vector< CustomTypeExtractionSettings > & | settings_list | ) |
| std::string meta_utils::sanitize_type | ( | const std::string & | type_str | ) |
| std::string meta_utils::serialize_function_name | ( | const std::string & | type | ) |
| std::string meta_utils::simplify_parameter | ( | const std::string & | param_str | ) |
| std::string meta_utils::size_when_serialized_function_name | ( | const std::string & | type | ) |
| std::vector< std::string > meta_utils::split_args | ( | const std::string & | args_str | ) |
| std::vector< std::string > meta_utils::split_template_args | ( | const std::string & | s | ) |
|
inline |
| std::string meta_utils::to_string_function_name | ( | const std::string & | type | ) |
| std::string meta_utils::trim | ( | const std::string & | s | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| std::unordered_map<char, char> meta_utils::replacement_map = {{':', '_'}, {' ', '_'}} |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |