diff --git a/README.rst b/README.rst index 60d2d9819..f35f66162 100644 --- a/README.rst +++ b/README.rst @@ -139,7 +139,7 @@ Call the generator with the appropriate target: usage: aas-core-codegen [-h] --model_path MODEL_PATH --snippets_dir SNIPPETS_DIR --output_dir OUTPUT_DIR --target - {csharp,golang,jsonschema,python,typescript,rdf_shacl,xsd,jsonld_context} + {csharp,cpp,golang,jsonschema,python,typescript,rdf_shacl,xsd,jsonld_context} [--version] Generate implementations and schemas based on an AAS meta-model. @@ -153,7 +153,7 @@ Call the generator with the appropriate target: specific code snippets --output_dir OUTPUT_DIR path to the generated code - --target {csharp,golang,jsonschema,python,typescript,rdf_shacl,xsd,jsonld_context} + --target {csharp,cpp,golang,jsonschema,python,typescript,rdf_shacl,xsd,jsonld_context} target language or schema --version show the current version and exit diff --git a/aas_core_codegen/cpp/aas_common/_generate.py b/aas_core_codegen/cpp/aas_common/_generate.py index 4d9c38565..414846933 100644 --- a/aas_core_codegen/cpp/aas_common/_generate.py +++ b/aas_core_codegen/cpp/aas_common/_generate.py @@ -1,5 +1,7 @@ """Generate C++ code of common functions by including the code directly.""" +# pylint: disable=line-too-long + import io from typing import List @@ -17,7 +19,6 @@ INDENT2 as II, INDENT3 as III, INDENT4 as IIII, - INDENT5 as IIIII ) @@ -27,32 +28,34 @@ def _generate_concatenate_definitions_for_2_parts_and_above() -> List[Stripped]: >>> print(_generate_concatenate_definitions_for_2_parts_and_above()[0]) /** - * Concatenate two strings. + * Concatenate 2 strings. * * \\param part0 1st part of the concatenation * \\param part1 2nd part of the concatenation * \\return a concatenation of the 2 parts */ - std::wstring Concat( - const std::wstring& part0, - const std::wstring& part1 + std::string Concat( + const std::string& part0, + const std::string& part1 ); """ concat_funcs = [] # type: List[Stripped] - for string_type in ['std::string', 'std::wstring']: + for string_type in ["std::string", "std::wstring"]: for count in range(2, 65): param_descriptions = [] # type: List[str] for i in range(0, count): ordinal: str - if i % 10 == 1: - ordinal = f"{i}st" - elif i % 10 == 2: - ordinal = f"{i}nd" - elif i % 10 == 3: - ordinal = f"{i}rd" + ordinal_i = i + 1 + + if ordinal_i % 10 == 1: + ordinal = f"{ordinal_i}st" + elif ordinal_i % 10 == 2: + ordinal = f"{ordinal_i}nd" + elif ordinal_i % 10 == 3: + ordinal = f"{ordinal_i}rd" else: - ordinal = f"{i}th" + ordinal = f"{ordinal_i}th" param_descriptions.append( f" * \\param part{i} {ordinal} part of the concatenation" @@ -86,15 +89,15 @@ def _generate_concatenate_implementations_for_2_parts_and_above() -> List[Stripp Generate the implementation of ``concat`` functions. >>> print(_generate_concatenate_implementations_for_2_parts_and_above()[0]) - std::wstring Concat( - const std::wstring& part0, - const std::wstring& part1 + std::string Concat( + const std::string& part0, + const std::string& part1 ) { size_t size = 0; size += part0.size(); size += part1.size(); - std::wstring result; + std::string result; result.reserve(size); result.append(part0); @@ -104,7 +107,7 @@ def _generate_concatenate_implementations_for_2_parts_and_above() -> List[Stripp } """ concat_funcs = [] # type: List[Stripped] - for string_type in ['std::string', 'std::wstring']: + for string_type in ["std::string", "std::wstring"]: for count in range(2, 65): args_definition = ",\n".join( f"{I}const {string_type}& part{i}" for i in range(0, count) @@ -163,7 +166,6 @@ def generate_header(library_namespace: Stripped) -> str: {I}); }}""" ) - ] # type: List[Stripped] for i in range(1, 16): typenames_joined = ",\n".join( @@ -204,7 +206,7 @@ def generate_header(library_namespace: Stripped) -> str: ), cpp_common.WARNING, Stripped( - f"""\ + """\ #pragma warning(push, 0) #include #include @@ -254,12 +256,12 @@ def generate_header(library_namespace: Stripped) -> str: namespace {cpp_common.COMMON_NAMESPACE} {{""" ), Stripped( - f"""\ -// Please keep in sync with the preprocessing directives above in the include block. + """\ +// Please keep in sync with the preprocessing directives above in the include block. #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) // Standard library provides std::optional in C++17 and above. using std::optional; -using std::nullopt; +using std::nullopt; using std::make_optional; #else using tl::optional; @@ -268,7 +270,7 @@ def generate_header(library_namespace: Stripped) -> str: #endif""" ), Stripped( - f"""\ + """\ // Please keep in sync with the preprocessing directives above in the include block. #if ((defined(_MSVC_LANG) && _MSVC_LANG > 202002L) || __cplusplus > 202002L) using std::expected; @@ -373,7 +375,7 @@ def generate_header(library_namespace: Stripped) -> str: * \\param start of the range * \\param end of the range * \\return \\parblock - * `true` if any number between \\p start and + * `true` if any number between \\p start and * \\p end (excluded) satisfy the \\p condition * \\endparblock */ @@ -414,9 +416,8 @@ def generate_header(library_namespace: Stripped) -> str: {I}) != container_end; }}""" ), - Stripped( - f"""\ + """\ /** * Convert platform-independent the wide string to a UTF-8 string. * @@ -442,7 +443,7 @@ def generate_header(library_namespace: Stripped) -> str: );""" ), Stripped( - f"""\ + """\ /** * Convert platform-independent the UTF-8 encoded string to a wide string. * @@ -493,7 +494,7 @@ def generate_implementation(library_namespace: Stripped) -> str: #include "{include_prefix_path}/common.hpp"''' ), Stripped( - f"""\ + """\ #pragma warning(push, 0) #include #pragma warning(pop) @@ -586,7 +587,7 @@ def generate_implementation(library_namespace: Stripped) -> str: {II}text_size_int, {II}&(result[0]), {II}size_needed, -{II}nullptr, +{II}nullptr, {II}nullptr {I}); diff --git a/aas_core_codegen/cpp/common.py b/aas_core_codegen/cpp/common.py index f63ac49b3..b9131e60a 100644 --- a/aas_core_codegen/cpp/common.py +++ b/aas_core_codegen/cpp/common.py @@ -341,6 +341,8 @@ def generate_type( # concrete descendants since we want to allow enhancing. interface_name = cpp_naming.interface_name(our_type.name) + type_identifier: str + if types_namespace is None: type_identifier = interface_name else: @@ -443,7 +445,7 @@ def break_type_in_lines(text: str) -> str: buffer = io.StringIO() level = 0 - last_match = None # type: Optional[re.Match] + last_match = None # type: Optional[re.Match[str]] for match in _ANGLE_BRACKETS_IN_TYPE_RE.finditer(text): if last_match is None: buffer.write(text[: match.start()]) @@ -466,7 +468,13 @@ def break_type_in_lines(text: str) -> str: last_match = match + if last_match is None: + # NOTE (mristin, 2024-01-18): + # Not a signle angle bracket has been detected. + return text + buffer.write(text[last_match.end() :]) + return buffer.getvalue() @@ -501,14 +509,16 @@ def __next__(self) -> Identifier: return result + def generate_include_prefix_path(library_namespace: Stripped) -> Stripped: """ Generate the prefix path for the includes. - >>> generate_namespace_opening(Stripped("some::name::space")) + >>> generate_include_prefix_path(Stripped("some::name::space")) 'some/name/space' """ - return Stripped(library_namespace.replace('::', '/')) + return Stripped(library_namespace.replace("::", "/")) + def generate_namespace_opening(library_namespace: Stripped) -> Stripped: """ diff --git a/aas_core_codegen/cpp/constants/_generate.py b/aas_core_codegen/cpp/constants/_generate.py index 094eb6ba3..ffa98c5d3 100644 --- a/aas_core_codegen/cpp/constants/_generate.py +++ b/aas_core_codegen/cpp/constants/_generate.py @@ -198,9 +198,6 @@ def _generate_constant_set_of_primitives_definition( writer.write(comment) writer.write("\n") - # noinspection PyUnusedLocal - literal_codes = [] # type: List[str] - # noinspection PyUnusedLocal set_type = None # type: Optional[str] @@ -404,14 +401,14 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/types.hpp" #pragma warning(push, 0) #include #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( diff --git a/aas_core_codegen/cpp/description.py b/aas_core_codegen/cpp/description.py index 5040e7ce5..467012efa 100644 --- a/aas_core_codegen/cpp/description.py +++ b/aas_core_codegen/cpp/description.py @@ -159,7 +159,10 @@ def _is_single_paragraph(para: docutils.nodes.paragraph) -> bool: or not. """ result, error = _IS_SINGLE_PARAGRAPHER.transform(para) + assert error is None, f"Unexpected error: {error}" + assert result is not None + return result @@ -418,7 +421,6 @@ def transform_note( assert text is not None - # TODO (mristin, 2023-06-28): check this before the release! if ( len(element.children) == 1 and isinstance(element.children[0], docutils.nodes.paragraph) diff --git a/aas_core_codegen/cpp/enhancing/_generate.py b/aas_core_codegen/cpp/enhancing/_generate.py index 7b9c8984d..9ba9f0252 100644 --- a/aas_core_codegen/cpp/enhancing/_generate.py +++ b/aas_core_codegen/cpp/enhancing/_generate.py @@ -22,12 +22,12 @@ INDENT2 as II, INDENT3 as III, INDENT4 as IIII, - INDENT5 as IIIII + INDENT5 as IIIII, ) def _generate_wrap_forward_declarations( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> List[Stripped]: """Generate the forward declarations of the overloaded ``Wrap`` functions.""" result = [] # type: List[Stripped] @@ -140,7 +140,7 @@ def _generate_method_delegation(method: intermediate.Method) -> Stripped: return Stripped( f"""\ {return_type} {method_name}(){const_suffix} override {{ -{I}{return_prefix}instance_->{method_name}(); +{I}{return_prefix}instance_->{method_name}(); }}""" ) @@ -163,7 +163,7 @@ def _generate_method_delegation(method: intermediate.Method) -> Stripped: def _generate_enhanced_class( - cls: intermediate.ConcreteClass, + cls: intermediate.ConcreteClass, ) -> Stripped: """Generate the implementation of an enhanced class which wraps an instance.""" public_members = [] # type: List[Stripped] @@ -331,7 +331,7 @@ class {enhanced_cls_name} @require(lambda prop: not isinstance(prop, intermediate.OptionalTypeAnnotation)) def _generate_wrap_snippet_for_required_property( - prop: intermediate.Property, + prop: intermediate.Property, ) -> Stripped: """ Generate the snippet to recursively wrap the required property. @@ -360,8 +360,7 @@ def _generate_wrap_snippet_for_required_property( return Stripped("") elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) + type_anno.our_type, (intermediate.AbstractClass, intermediate.ConcreteClass) ): # NOTE (mristin, 2023-07-07): # The non-mutating getter means here that we will not change the reference, @@ -396,13 +395,11 @@ def _generate_wrap_snippet_for_required_property( type_annotation=type_anno, types_namespace=Identifier("types") ) prop_type = cpp_common.generate_type( - type_annotation=type_anno, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno, types_namespace=cpp_common.TYPES_NAMESPACE ) item_type = cpp_common.generate_type_with_const_ref_if_applicable( - type_annotation=type_anno.items, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno.items, types_namespace=cpp_common.TYPES_NAMESPACE ) return Stripped( @@ -427,10 +424,10 @@ def _generate_wrap_snippet_for_required_property( {III}) {II}); {I}}} - + {I}that->{setter_name}( {II}std::move(wrapped) -{I}); +{I}); }}""" ) else: @@ -444,11 +441,10 @@ def _generate_wrap_snippet_for_required_property( ) # fmt: on def _generate_wrap_snippet_for_optional_property( - prop: intermediate.Property, + prop: intermediate.Property, ) -> Stripped: - """Generate the snippet to recursively wrap the optional property.""" """ - Generate the snippet to recursively wrap the required property. + Generate the snippet to recursively wrap the optional property. We return an empty string if there is no snippet for the property. """ @@ -470,8 +466,7 @@ def _generate_wrap_snippet_for_optional_property( return Stripped("") elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) + type_anno.our_type, (intermediate.AbstractClass, intermediate.ConcreteClass) ): # NOTE (mristin, 2023-07-07): # The non-mutating getter means here that we will not change the reference, @@ -482,9 +477,7 @@ def _generate_wrap_snippet_for_optional_property( type_annotation=type_anno, types_namespace=Identifier("types") ) - value_interface_name = cpp_naming.interface_name( - type_anno.our_type.name - ) + value_interface_name = cpp_naming.interface_name(type_anno.our_type.name) return Stripped( f"""\ @@ -525,13 +518,11 @@ def _generate_wrap_snippet_for_optional_property( getter_name = cpp_naming.getter_name(prop.name) value_type = cpp_common.generate_type( - type_annotation=type_anno, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno, types_namespace=cpp_common.TYPES_NAMESPACE ) item_type = cpp_common.generate_type_with_const_ref_if_applicable( - type_annotation=type_anno.items, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno.items, types_namespace=cpp_common.TYPES_NAMESPACE ) return Stripped( @@ -646,8 +637,7 @@ def _generate_concrete_wrap(cls: intermediate.ConcreteClass) -> Stripped: def _generate_wrap_for( - interface_name: Identifier, - concrete_classes: Sequence[intermediate.ConcreteClass] + interface_name: Identifier, concrete_classes: Sequence[intermediate.ConcreteClass] ) -> Stripped: """ Generate the wrap function for the given interface. @@ -665,9 +655,7 @@ def _generate_wrap_for( Identifier(f"wrap_{cls.name}") ) - concrete_interface_name = cpp_naming.interface_name( - cls.name - ) + concrete_interface_name = cpp_naming.interface_name(cls.name) if concrete_interface_name == interface_name: case_blocks.append( @@ -756,7 +744,7 @@ def _generate_wrap(symbol_table: intermediate.SymbolTable) -> List[Stripped]: blocks = [ _generate_wrap_for( interface_name=Identifier("IClass"), - concrete_classes=symbol_table.concrete_classes + concrete_classes=symbol_table.concrete_classes, ) ] # type: List[Stripped] @@ -771,8 +759,7 @@ def _generate_wrap(symbol_table: intermediate.SymbolTable) -> List[Stripped]: blocks.append( _generate_wrap_for( - interface_name=interface_name, - concrete_classes=concrete_classes + interface_name=interface_name, concrete_classes=concrete_classes ) ) @@ -782,7 +769,7 @@ def _generate_wrap(symbol_table: intermediate.SymbolTable) -> List[Stripped]: /** * Wrap \\p that instance recursively with the enhancement produced by the \\p factory. * - * The factory decides itself whether it will produce an enhancement for + * The factory decides itself whether it will produce an enhancement for * \\p that instance, or not. Even if no enhancement has been produced for \\p that * instance, we will still continue to enhance the instances referenced * by \\p that instance recursively. @@ -796,7 +783,7 @@ def _generate_wrap(symbol_table: intermediate.SymbolTable) -> List[Stripped]: ///@{""" ), *blocks, - Stripped("///@}}") + Stripped("///@}}"), ] @@ -821,7 +808,7 @@ def _generate_unwrap() -> Stripped: f"""\ /** * Try to unwrap the enhancement from \\p that instance. - * + * * \\param that instance possibly wrapped with an enhancement * \\return the enhancement, or `nullptr` if \\p that instance has not been wrapped * \\tparam E type of the enhancement @@ -866,7 +853,7 @@ def _generate_must_unwrap() -> Stripped: f"""\ /** * Unwrap the enhancement from \\p that instance. - * + * * \\remark \\p that instance must have been wrapped before. * * \\param that instance expected to be wrapped with an enhancement @@ -892,8 +879,8 @@ def _generate_must_unwrap() -> Stripped: ) # fmt: on def generate_header( - symbol_table: intermediate.SymbolTable, - library_namespace: Stripped, + symbol_table: intermediate.SymbolTable, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ code for wrapping model classes with custom enhancements.""" namespace = Stripped(f"{library_namespace}::enhancing") @@ -910,7 +897,7 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/common.hpp" #include "{include_prefix_path}/stringification.hpp" #include "{include_prefix_path}/types.hpp" @@ -918,31 +905,28 @@ def generate_header( #pragma warning(push, 0) #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( - f"""\ + """\ /** * \\defgroup enhancing Enhance instances of the model with your custom enhancements. - * @{{ + * @{ */ -namespace enhancing {{""" +namespace enhancing {""" ), Stripped("// region Forward declarations"), *_generate_wrap_forward_declarations(symbol_table=symbol_table), Stripped("// endregion Forward declarations"), Stripped( - f"""\ + """\ /// \\cond HIDDEN -namespace impl {{""" +namespace impl {""" ), _generate_enhanced_interface_definition(), *[_generate_enhanced_class(cls) for cls in symbol_table.concrete_classes], - *[ - _generate_concrete_wrap(cls=cls) - for cls in symbol_table.concrete_classes - ], + *[_generate_concrete_wrap(cls=cls) for cls in symbol_table.concrete_classes], Stripped( f"""\ /** @@ -980,8 +964,8 @@ def generate_header( }}""" ), Stripped( - f"""\ -}} // namespace impl + """\ +} // namespace impl /// \\endcond""" ), *_generate_wrap(symbol_table), diff --git a/aas_core_codegen/cpp/iteration/_generate.py b/aas_core_codegen/cpp/iteration/_generate.py index c65af2045..25fb66792 100644 --- a/aas_core_codegen/cpp/iteration/_generate.py +++ b/aas_core_codegen/cpp/iteration/_generate.py @@ -173,7 +173,7 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/types.hpp" #pragma warning(push, 0) @@ -181,14 +181,14 @@ def generate_header( #include #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( """\ /** * \\defgroup iteration Define functions and structures to iterate over instances. - * @{ + * @{ */ namespace iteration {""" ), @@ -260,7 +260,7 @@ class ISegment {{ * \\brief Represent a path to some value. * * This is a path akin to C++ expressions. It is not to be confused with different - * paths used in the specification. This path class is meant to help with reporting. + * paths used in the specification. This path class is meant to help with reporting. * For example, we can use this path to let the user know when there is * a verification error in a model which can concern instances, but also properties * and items in the lists. @@ -385,7 +385,7 @@ class Iterator {{ {I}friend bool operator!=(const Iterator& a, const Iterator& b); {I}friend class Descent; -{I}friend class DescentOnce; +{I}friend class DescentOnce; {I}friend Path MaterializePath(const Iterator& iterator); {I}friend void PrependToPath(const Iterator& iterator, Path* path); @@ -403,7 +403,7 @@ class Iterator {{ Stripped("bool operator==(const Iterator& a, const Iterator& b);"), Stripped("bool operator!=(const Iterator& a, const Iterator& b);"), Stripped( - f"""\ + """\ /** * \\brief Materialize the path that the \\p iterator points to. * @@ -502,7 +502,7 @@ class DescentOnce : public IDescent {{ {I}std::shared_ptr instance_; }}; // class DescentOnce""" ), - Stripped("// endregion Iterators and descent") + Stripped("// endregion Iterators and descent"), ] # type: List[Stripped] if len(symbol_table.enumerations) > 0: @@ -551,14 +551,6 @@ class DescentOnce : public IDescent {{ return out.getvalue(), None -# TODO (mristin, 2023-09-26): test iterators against other languages!!! -# TODO (mristin, 2023-09-26): it is so obvious that we got it wrong!!! - -# TODO (mristin, 2023-09-27): write an example in the docs with environment -# destroyed *after* the elements are kept in a separate vector 🠒 the vector -# should still keep the contained instances alive. - - def _generate_property_to_wstring_implementation( symbol_table: intermediate.SymbolTable, ) -> Stripped: @@ -900,7 +892,7 @@ def _generate_iterator_over_cls_execute_implementation( flow = [ yielding_flow.command_from_text( - f"""\ + """\ property_.reset(); item_ = nullptr; index_ = -1; @@ -1078,7 +1070,7 @@ def _generate_iterator_over_cls( private_properties = [ Stripped( - f"""\ + """\ // We make instance_ a pointer, so that we can follow the rule-of-zero. const std::shared_ptr* instance_;""" ), @@ -1087,8 +1079,8 @@ def _generate_iterator_over_cls( // We make casted_ a pointer, so that we can follow the rule-of-zero. const types::{interface_name}* casted_;""" ), - Stripped(f"std::uint32_t state_;"), - Stripped(f"common::optional property_;"), + Stripped("std::uint32_t state_;"), + Stripped("common::optional property_;"), ] if iterator_qualities.cls_contains_a_list_property: private_properties.append( @@ -1173,10 +1165,6 @@ def _generate_iterator_over_cls( }}""" ) - must_as = cpp_naming.function_name( - Identifier(f"must_as_{cls.name}") - ) - return [ Stripped( f"""\ @@ -1382,7 +1370,7 @@ def _generate_recursive_inclusive_iterator_execute() -> Stripped: flow = [ yielding_flow.command_from_text( - f"""\ + """\ item_ = instance_; index_ = 0; done_ = false; @@ -1425,19 +1413,19 @@ def _generate_recursive_inclusive_iterator_execute() -> Stripped: ), yielding_flow.Yield(), ], - init="recursive_iterator_->Start();" + init="recursive_iterator_->Start();", ), yielding_flow.command_from_text("recursive_iterator_.reset(nullptr);"), ], - init="non_recursive_iterator_->Start();" + init="non_recursive_iterator_->Start();", ), yielding_flow.command_from_text( - f"""\ + """\ non_recursive_iterator_.reset(nullptr); done_ = true; index_ = -1;""" ), - ] + ] # type: List[yielding_flow.Node] body = cpp_yielding.generate_execute_body( flow=flow, state_member=Identifier("state_") @@ -1852,7 +1840,7 @@ class RecursiveExclusiveIterator : public impl::IIterator {{ Stripped( f"""\ std::unique_ptr RecursiveExclusiveIterator::Clone() const {{ -{I}return common::make_unique(*this); +{I}return common::make_unique(*this); }}""" ), Stripped("// endregion RecursiveExclusiveIterator implementation"), diff --git a/aas_core_codegen/cpp/jsonization/_generate.py b/aas_core_codegen/cpp/jsonization/_generate.py index 7dad7ee93..b1ad7288f 100644 --- a/aas_core_codegen/cpp/jsonization/_generate.py +++ b/aas_core_codegen/cpp/jsonization/_generate.py @@ -2,10 +2,11 @@ import io import itertools -from typing import List, Tuple, Optional, Sequence +from typing import List, Tuple, Optional, Iterable from icontract import ensure, require +from aas_core_codegen import intermediate, specific_implementations, naming from aas_core_codegen.common import ( Stripped, indent_but_first_line, @@ -13,19 +14,18 @@ Error, assert_never, ) -from aas_core_codegen import intermediate, specific_implementations, naming from aas_core_codegen.cpp import common as cpp_common, naming as cpp_naming from aas_core_codegen.cpp.common import ( INDENT as I, INDENT2 as II, INDENT3 as III, INDENT4 as IIII, - INDENT5 as IIIII + INDENT5 as IIIII, ) def _generate_deserialization_definitions( - symbol_table: intermediate.SymbolTable, + symbol_table: intermediate.SymbolTable, ) -> List[Stripped]: """Generate the definitions of deserialization functions.""" blocks = [] # type: List[Stripped] @@ -51,7 +51,7 @@ def _generate_deserialization_definitions( {I}DeserializationError > {deserialization_name}( {I}const nlohmann::json& json, -{I}bool additional_properties = false +{I}bool additional_properties = false );""" ) ) @@ -67,7 +67,7 @@ def _generate_deserialization_definitions( ) # fmt: on def generate_header( - symbol_table: intermediate.SymbolTable, library_namespace: Stripped + symbol_table: intermediate.SymbolTable, library_namespace: Stripped ) -> str: """Generate the C++ header code for JSON de/serialization.""" namespace = Stripped(f"{library_namespace}::{cpp_common.JSONIZATION_NAMESPACE}") @@ -241,7 +241,7 @@ class SerializationException : public std::exception {{ * \\param that instance to be serialized * \\return The corresponding JSON value * \\throw \\ref SerializationException if a value within \\p that instance - * could not be serialized + * could not be serialized */ nlohmann::json Serialize( {I}const types::IClass& that @@ -408,7 +408,7 @@ def _generate_path_implementation() -> List[Stripped]: ] -def _generate_deserialization_error_implementation()->List[Stripped]: +def _generate_deserialization_error_implementation() -> List[Stripped]: """Generate the impl. of the deserialization error class.""" return [ Stripped("// region class DeserializationError"), @@ -435,6 +435,7 @@ def _generate_deserialization_error_implementation()->List[Stripped]: Stripped("// endregion class DeserializationError"), ] + def _generate_deserialize_bool() -> Stripped: """Generate the function to de-serialize a boolean from a JSON value.""" return Stripped( @@ -464,7 +465,7 @@ def _generate_deserialize_bool() -> Stripped: {I}return std::make_pair< {II}common::optional, -{II}common::optional +{II}common::optional {I}>( {II}json.get(), {II}common::nullopt @@ -514,7 +515,7 @@ def _generate_deserialize_int() -> Stripped: {III}json.get(), {III}common::nullopt {II}); -{I}}} +{I}}} {I}if (json.is_number_unsigned()) {{ {II}std::wstring message = common::Concat( @@ -837,7 +838,7 @@ def _generate_get_model_type() -> Stripped: def _generate_concretely_deserialize_definition( - cls: intermediate.ClassUnion + cls: intermediate.ClassUnion, ) -> Stripped: """Generate the definition of the concrete ``Deserialize*`` functions.""" interface_name = cpp_naming.interface_name(cls.name) @@ -885,9 +886,9 @@ def _generate_concretely_deserialize_definition( * * \\param json value to be de-serialized * \\param additional_properties if not set, check that \\p json contains - * no additional properties + * no additional properties * \\return the deserialized instance, or an error, if any - */ + */ {prefix} {function_name}( {I}const nlohmann::json& json, {I}bool additional_properties @@ -899,9 +900,7 @@ def _generate_concretely_deserialize_definition( lambda cls: len(cls.concrete_descendants) > 0, "No dispatch possible without concrete descendants", ) -def _generate_dispatch_deserialize_definition( - cls: intermediate.ClassUnion -) -> Stripped: +def _generate_dispatch_deserialize_definition(cls: intermediate.ClassUnion) -> Stripped: """Generate the def. of the dispatching deserialization function for ``cls``.""" interface_name = cpp_naming.interface_name(cls.name) @@ -931,7 +930,7 @@ def _generate_dispatch_deserialize_definition( def _generate_deserialize_primitive_property( - prop: intermediate.Property, ok_type: Stripped + prop: intermediate.Property, ok_type: Stripped ) -> Stripped: """ Generate the snippet to de-serialize the primitive property. @@ -946,7 +945,7 @@ def _generate_deserialize_primitive_property( primitive_type = intermediate.try_primitive_type(type_anno) assert ( - primitive_type is not None + primitive_type is not None ), f"Primitive property expected, got for {prop.name!r}: {prop.type_annotation}" deserialize_primitive = _PRIMITIVE_TYPE_TO_DESERIALIZE[primitive_type] @@ -983,7 +982,7 @@ def _generate_deserialize_primitive_property( def _generate_deserialize_enumeration_property( - prop: intermediate.Property, ok_type: Stripped + prop: intermediate.Property, ok_type: Stripped ) -> Stripped: """ Generate the snippet to de-serialize the enumeration property. @@ -1094,7 +1093,7 @@ def _determine_deserialize_function_to_call(cls: intermediate.ClassUnion) -> Str def _generate_deserialize_instance_property( - prop: intermediate.Property, ok_type: Stripped + prop: intermediate.Property, ok_type: Stripped ) -> Stripped: """ Generate the snippet to de-serialize the instance property. @@ -1146,7 +1145,7 @@ def _generate_deserialize_instance_property( def _generate_deserialize_list_property( - prop: intermediate.Property, ok_type: Stripped + prop: intermediate.Property, ok_type: Stripped ) -> Stripped: """ Generate the snippet to de-serialize the list property. @@ -1216,7 +1215,7 @@ def _generate_deserialize_list_property( {I}> >(); -{var_name}->reserve({var_json}.size()); +{var_name}->reserve({var_json}.size()); size_t {var_index_name} = 0; @@ -1268,7 +1267,7 @@ def _generate_deserialize_list_property( def _generate_deserialize_property( - prop: intermediate.Property, ok_type: Stripped + prop: intermediate.Property, ok_type: Stripped ) -> Stripped: """ Generate the snippet to de-serialize the given property. @@ -1294,8 +1293,7 @@ def _generate_deserialize_property( code = _generate_deserialize_primitive_property(prop=prop, ok_type=ok_type) elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) + type_anno.our_type, (intermediate.AbstractClass, intermediate.ConcreteClass) ): code = _generate_deserialize_instance_property(prop=prop, ok_type=ok_type) @@ -1334,8 +1332,8 @@ def _generate_deserialize_property( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_concretely_deserialize_implementation( - cls: intermediate.ConcreteClass, - spec_impls: specific_implementations.SpecificImplementations, + cls: intermediate.ConcreteClass, + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[Stripped], Optional[Error]]: """ Generate the concrete deserialization for the class ``cls``. @@ -1400,7 +1398,7 @@ def _generate_concretely_deserialize_implementation( {I}for (const auto& key_val : json.items()) {{ {II}auto it( {III}{expected_properties}.find(key_val.key()) -{II}); +{II}); {II}if (it == {expected_properties}.end()) {{ {III}std::wstring message = common::Concat( {IIII}L"Unexpected additional property: ", @@ -1487,7 +1485,7 @@ def _generate_concretely_deserialize_implementation( ) if not isinstance( - prop.type_annotation, intermediate.OptionalTypeAnnotation + prop.type_annotation, intermediate.OptionalTypeAnnotation ): if "\n" in var_type: var_type = Stripped( @@ -1609,13 +1607,9 @@ def _generate_concretely_deserialize_implementation( ] if cls.serialization.with_model_type: - expected_properties_literals.append( - cpp_common.string_literal("modelType") - ) + expected_properties_literals.append(cpp_common.string_literal("modelType")) - expected_properties_literals_joined = ",\n".join( - expected_properties_literals - ) + expected_properties_literals_joined = ",\n".join(expected_properties_literals) expected_properties_definition = Stripped( f"""\ @@ -1628,7 +1622,7 @@ def _generate_concretely_deserialize_implementation( Stripped( f"""\ {expected_properties_definition} - + {prefix} {function_name}( {I}const nlohmann::json& json, {I}bool additional_properties @@ -1645,9 +1639,11 @@ def _generate_concretely_deserialize_implementation( "No dispatch possible without concrete descendants", ) def _generate_dispatch_deserialize_implementation( - cls: intermediate.ClassUnion + cls: intermediate.ClassUnion, ) -> List[Stripped]: """Generate the impl. of the dispatching deserialization function for ``cls``.""" + targets: Iterable[intermediate.ConcreteClass] + if isinstance(cls, intermediate.ConcreteClass): targets = itertools.chain([cls], cls.concrete_descendants) else: @@ -1782,7 +1778,7 @@ def _generate_deserialization_implementation(cls: intermediate.ClassUnion) -> St {I}DeserializationError > {deserialization_name}( {I}const nlohmann::json& json, -{I}bool additional_properties +{I}bool additional_properties ) {{ {I}common::optional< {II}std::shared_ptr @@ -1839,7 +1835,7 @@ def _generate_serialization_exception_implementation() -> List[Stripped]: SerializationException::SerializationException( {I}std::wstring cause, {I}iteration::Path path -) : +) : {I}cause_(std::move(cause)), {I}path_(std::move(path)), {I}msg_(RenderSerializationErrorMessage(cause, path)) {{ @@ -1880,7 +1876,7 @@ def _generate_serialize_int() -> Stripped: */ std::pair< {I}common::optional, -{I}common::optional +{I}common::optional > SerializeInt64(int64_t value) {{ {I}if ( {II}value < -9007199254740991L @@ -1964,10 +1960,11 @@ def _generate_serialize_iclass_definition() -> Stripped: );""" ) + def _generate_serialize_primitive_property( - getter_expr: str, - primitive_type: intermediate.PrimitiveType, - property_name: Identifier + getter_expr: str, + primitive_type: intermediate.PrimitiveType, + property_name: Identifier, ) -> Stripped: """ Generate the snippet to serialize the given primitive property. @@ -1985,9 +1982,7 @@ def _generate_serialize_primitive_property( return Stripped(f"result[{json_prop_name_literal}] = {getter_expr};") elif primitive_type is intermediate.PrimitiveType.INT: - serialized_var = cpp_naming.variable_name( - Identifier(f"json_{property_name}") - ) + serialized_var = cpp_naming.variable_name(Identifier(f"json_{property_name}")) return Stripped( f"""\ common::optional {serialized_var}; @@ -2024,9 +2019,7 @@ def _generate_serialize_primitive_property( ) elif primitive_type is intermediate.PrimitiveType.STR: - serialized_var = cpp_naming.variable_name( - Identifier(f"json_{property_name}") - ) + serialized_var = cpp_naming.variable_name(Identifier(f"json_{property_name}")) return Stripped( f"""\ result[{json_prop_name_literal}] = SerializeWstring( @@ -2065,7 +2058,7 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: code = _generate_serialize_primitive_property( getter_expr=getter_expr, primitive_type=type_anno.a_type, - property_name=prop.name + property_name=prop.name, ) elif isinstance(type_anno, intermediate.OurTypeAnnotation): @@ -2080,15 +2073,12 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: code = _generate_serialize_primitive_property( getter_expr=getter_expr, primitive_type=type_anno.our_type.constrainee, - property_name=prop.name + property_name=prop.name, ) elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) + type_anno.our_type, (intermediate.AbstractClass, intermediate.ConcreteClass) ): - serialized_var = cpp_naming.variable_name( - Identifier(f"json_{prop.name}") - ) + serialized_var = cpp_naming.variable_name(Identifier(f"json_{prop.name}")) code = Stripped( f"""\ @@ -2122,12 +2112,11 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: else: assert_never(type_anno.our_type) elif isinstance(type_anno, intermediate.ListTypeAnnotation): - assert ( - isinstance(type_anno.items, intermediate.OurTypeAnnotation) - and isinstance( + assert isinstance( + type_anno.items, intermediate.OurTypeAnnotation + ) and isinstance( type_anno.items.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) - ) + (intermediate.AbstractClass, intermediate.ConcreteClass), ), ( f"NOTE (mristin, 2023-11-21): We expect only lists of classes " f"at the moment, but you specified {type_anno}. " @@ -2140,18 +2129,13 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: else: size_expr = f"that.{getter}().size()" - serialized_var = cpp_naming.variable_name( - Identifier(f"json_{prop.name}") - ) + serialized_var = cpp_naming.variable_name(Identifier(f"json_{prop.name}")) const_ref_item_type = cpp_common.generate_type_with_const_ref_if_applicable( - type_annotation=type_anno.items, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno.items, types_namespace=cpp_common.TYPES_NAMESPACE ) - index_var = cpp_naming.variable_name( - Identifier(f"index_{prop.name}") - ) + index_var = cpp_naming.variable_name(Identifier(f"index_{prop.name}")) code = Stripped( f"""\ nlohmann::json {serialized_var} = nlohmann::json::array(); @@ -2209,7 +2193,7 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: if isinstance(prop.type_annotation, intermediate.OptionalTypeAnnotation): maybe_var_type = cpp_common.generate_type_with_const_ref_if_applicable( type_annotation=prop.type_annotation, - types_namespace=cpp_common.TYPES_NAMESPACE + types_namespace=cpp_common.TYPES_NAMESPACE, ) assert maybe_var is not None @@ -2229,8 +2213,8 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_serialize_cls( - cls: intermediate.ConcreteClass, - spec_impls: specific_implementations.SpecificImplementations + cls: intermediate.ConcreteClass, + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Generate the serialization function for the class ``cls``.""" if cls.is_implementation_specific: @@ -2249,7 +2233,7 @@ def _generate_serialize_cls( blocks = [ Stripped( - f"""\ + """\ nlohmann::json result = nlohmann::json::object();""" ) ] # type: List[Stripped] @@ -2259,20 +2243,15 @@ def _generate_serialize_cls( type_anno = intermediate.beneath_optional(prop.type_annotation) primitive_type = intermediate.try_primitive_type(type_anno) - if ( - primitive_type is not None and ( - primitive_type is intermediate.PrimitiveType.INT - ) + if primitive_type is not None and ( + primitive_type is intermediate.PrimitiveType.INT ): needs_error = True break - if ( - isinstance(type_anno, intermediate.OurTypeAnnotation) - or ( - isinstance(type_anno, intermediate.ListTypeAnnotation) - and isinstance(type_anno.items, intermediate.OurTypeAnnotation) - ) + if isinstance(type_anno, intermediate.OurTypeAnnotation) or ( + isinstance(type_anno, intermediate.ListTypeAnnotation) + and isinstance(type_anno.items, intermediate.OurTypeAnnotation) ): needs_error = True break @@ -2284,9 +2263,7 @@ def _generate_serialize_cls( blocks.append(_generate_serialize_property(prop=prop)) if cls.serialization.with_model_type: - model_type_literal = cpp_common.string_literal( - naming.json_model_type(cls.name) - ) + model_type_literal = cpp_common.string_literal(naming.json_model_type(cls.name)) blocks.append(Stripped(f'result["modelType"] = {model_type_literal};')) blocks.append( @@ -2304,14 +2281,13 @@ def _generate_serialize_cls( blocks_joined = "\n\n".join(blocks) - serialize_name = cpp_naming.function_name( - Identifier(f"serialize_{cls.name}") - ) + serialize_name = cpp_naming.function_name(Identifier(f"serialize_{cls.name}")) interface_name = cpp_naming.interface_name(cls.name) - return Stripped( - f"""\ + return ( + Stripped( + f"""\ std::pair< {I}common::optional, {I}common::optional @@ -2320,19 +2296,18 @@ def _generate_serialize_cls( ) {{ {I}{indent_but_first_line(blocks_joined, I)} }}""" - ), None - + ), + None, + ) def _generate_serialize_iclass_implementation( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> Stripped: """Generate the main dispatch function for serializing ``IClass``.""" case_blocks = [] # type: List[Stripped] for cls in symbol_table.concrete_classes: - serialize_name = cpp_naming.function_name( - Identifier(f"serialize_{cls.name}") - ) + serialize_name = cpp_naming.function_name(Identifier(f"serialize_{cls.name}")) model_type_literal = cpp_naming.enum_literal_name(cls.name) model_type_enum = cpp_naming.enum_name(Identifier("Model_type")) @@ -2420,9 +2395,9 @@ def _generate_serialize_implementation() -> Stripped: ) # fmt: on def generate_implementation( - symbol_table: intermediate.SymbolTable, - spec_impls: specific_implementations.SpecificImplementations, - library_namespace: Stripped, + symbol_table: intermediate.SymbolTable, + spec_impls: specific_implementations.SpecificImplementations, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ implementation of the de/serialization functions.""" namespace = Stripped(f"{library_namespace}::{cpp_common.JSONIZATION_NAMESPACE}") @@ -2467,11 +2442,7 @@ def generate_implementation( ) if len(cls.concrete_descendants) > 0: - blocks.append( - _generate_dispatch_deserialize_definition( - cls=cls - ) - ) + blocks.append(_generate_dispatch_deserialize_definition(cls=cls)) errors = [] # type: List[Error] @@ -2490,7 +2461,8 @@ def generate_implementation( if len(cls.concrete_descendants) > 0: deserialize_dispatch_blocks = _generate_dispatch_deserialize_implementation( - cls=cls) + cls=cls + ) blocks.extend(deserialize_dispatch_blocks) for cls in symbol_table.classes: @@ -2531,15 +2503,12 @@ def generate_implementation( _generate_serialize_int(), _generate_serialize_str(), _generate_serialize_bytearray(), - _generate_serialize_iclass_definition() + _generate_serialize_iclass_definition(), ] ) for cls in symbol_table.concrete_classes: - serialize_block, error = _generate_serialize_cls( - cls=cls, - spec_impls=spec_impls - ) + serialize_block, error = _generate_serialize_cls(cls=cls, spec_impls=spec_impls) if error is not None: errors.append(error) else: diff --git a/aas_core_codegen/cpp/main.py b/aas_core_codegen/cpp/main.py index a07666707..5111f6e66 100644 --- a/aas_core_codegen/cpp/main.py +++ b/aas_core_codegen/cpp/main.py @@ -226,6 +226,8 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int: ) return 1 + assert code is not None + pth = context.output_dir / "iteration.hpp" try: pth.write_text(code, encoding="utf-8") @@ -548,8 +550,7 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int: f"Failed to generate the implementation of the C++ xmlization code " f"based on {context.model_path}" ), - errors=[context.lineno_columner.error_message(error) for error in - errors], + errors=[context.lineno_columner.error_message(error) for error in errors], stderr=stderr, ) return 1 diff --git a/aas_core_codegen/cpp/naming.py b/aas_core_codegen/cpp/naming.py index dee3dede5..f8ff9b100 100644 --- a/aas_core_codegen/cpp/naming.py +++ b/aas_core_codegen/cpp/naming.py @@ -7,11 +7,8 @@ We follow the Google C++ code style, see: https://google.github.io/styleguide/cppguide.html#Naming """ -from typing import List, Iterator, Optional -from icontract import require - -from aas_core_codegen import intermediate, naming +from aas_core_codegen import naming from aas_core_codegen.common import Identifier diff --git a/aas_core_codegen/cpp/optionaling.py b/aas_core_codegen/cpp/optionaling.py index 9efee0176..e550b718a 100644 --- a/aas_core_codegen/cpp/optionaling.py +++ b/aas_core_codegen/cpp/optionaling.py @@ -447,6 +447,9 @@ def transform_joined_str(self, node: parse_tree.JoinedStr) -> Optional[Error]: def transform_for_each(self, node: parse_tree.ForEach) -> Optional[Error]: variable_type_in_env = self._environment.find(node.variable.identifier) + + error: Optional[Error] + if variable_type_in_env is not None: error = Error( node.variable.original_node, diff --git a/aas_core_codegen/cpp/stringification/_generate.py b/aas_core_codegen/cpp/stringification/_generate.py index 9f54afa2d..f415b5cf9 100644 --- a/aas_core_codegen/cpp/stringification/_generate.py +++ b/aas_core_codegen/cpp/stringification/_generate.py @@ -17,7 +17,7 @@ INDENT2 as II, INDENT3 as III, INDENT4 as IIII, - INDENT5 as IIIII + INDENT5 as IIIII, ) @@ -37,7 +37,7 @@ def _generate_model_type_from_string_definition() -> List[Stripped]: * * \\param text to be parsed * \\return literal, or nothing, if \\p text invalid - */ + */ common::optional {from_string}( {I}const std::string& text );""" @@ -258,7 +258,7 @@ def _generate_enum_from_string_definition( * * \\param text to be parsed * \\return literal, or nothing, if \\p text invalid - */ + */ common::optional {from_string}( {I}const std::string& text );""" @@ -483,9 +483,9 @@ def _generate_base64_encode_implementation() -> List[Stripped]: # noinspection SpellCheckingInspection return [ Stripped( - f"""\ + """\ // The following encoder has been adapted from Jouni Malinen to work with -// std::string. The original source code is available at: +// std::string. The original source code is available at: // https://web.mit.edu/freebsd/head/contrib/wpa/src/utils/base64.c // // See also the following StackOverflow question for a benchmark: @@ -570,9 +570,6 @@ def _generate_base64_encode_implementation() -> List[Stripped]: ] -# TODO (mristin, 2023-07-12): copy/paste tests from TypeScript! - - def _generate_base64_decode_definition() -> Stripped: """Generate the definition of the base64 decoding of a string to bytes.""" # NOTE (mristin, 2023-07-12): @@ -581,7 +578,7 @@ def _generate_base64_decode_definition() -> Stripped: return Stripped( f"""\ /** - * Decode the \\p the text with base64 to bytes. + * Decode the \\p the text with base64 to bytes. * * \\remark \\parblock * We intentionally decode from std::string and *not* from std::wstring as @@ -616,8 +613,8 @@ def _generate_base64_decode_implementation() -> List[Stripped]: return [ Stripped( - f"""\ -// The following decoder is vaguely based on: + """\ +// The following decoder is vaguely based on: // https://github.com/danguer/blog-examples/blob/master/js/base64-binary.js, // https://github.com/niklasvh/base64-arraybuffer/blob/master/src/index.ts and // https://github.com/beatgammit/base64-js/blob/master/index.js.""" @@ -627,7 +624,7 @@ def _generate_base64_decode_implementation() -> List[Stripped]: std::vector {construct_base64_lookup}() {{ {I}std::vector lookup(256, 255); {I}for (std::uint8_t i = 0; i < {char_base64_table_len}; ++i) {{ -{II}lookup.at({char_base64_table}[i]) = i; +{II}lookup.at({char_base64_table}[i]) = i; {I}}} {I}return lookup; }} @@ -698,7 +695,7 @@ def _generate_base64_decode_implementation() -> List[Stripped]: {III}); {III}return common::make_unexpected(message); -{II}}} +{II}}} {II}const unsigned char code1 = text[i + 1]; {II}if (code1 >= base64_lookup_len) {{ @@ -729,7 +726,7 @@ def _generate_base64_decode_implementation() -> List[Stripped]: {III}); {III}return common::make_unexpected(message); -{II}}} +{II}}} {II}// We map padding to 65, which is the value of "A". {II}const unsigned char code2 = i + 2 < len_wo_pad ? text[i + 2] : 65; @@ -845,14 +842,14 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/common.hpp" #include "{include_prefix_path}/types.hpp" #pragma warning(push, 0) #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( @@ -912,12 +909,12 @@ def generate_implementation( blocks = [ cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/stringification.hpp" #pragma warning(push, 0) #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(namespace), *_generate_model_type_from_string_implementation(symbol_table=symbol_table), diff --git a/aas_core_codegen/cpp/structure/_generate.py b/aas_core_codegen/cpp/structure/_generate.py index 2660c3779..bb7d9609e 100644 --- a/aas_core_codegen/cpp/structure/_generate.py +++ b/aas_core_codegen/cpp/structure/_generate.py @@ -9,8 +9,6 @@ Tuple, cast, Union, - Sequence, - Set, ) from icontract import ensure, require @@ -24,7 +22,6 @@ Stripped, indent_but_first_line, ) -from aas_core_codegen.intermediate import construction as intermediate_construction from aas_core_codegen.cpp import ( common as cpp_common, naming as cpp_naming, @@ -35,20 +32,20 @@ INDENT2 as II, INDENT3 as III, INDENT4 as IIII, - INDENT5 as IIIII, ) +from aas_core_codegen.intermediate import construction as intermediate_construction # region Checks def _human_readable_identifier( - something: Union[ - intermediate.Enumeration, - intermediate.AbstractClass, - intermediate.ConcreteClass, - intermediate.EnumerationLiteral, - ] + something: Union[ + intermediate.Enumeration, + intermediate.AbstractClass, + intermediate.ConcreteClass, + intermediate.EnumerationLiteral, + ] ) -> str: """ Represent ``something`` in a human-readable text. @@ -80,7 +77,7 @@ def _human_readable_identifier( def _verify_structure_name_collisions( - symbol_table: intermediate.SymbolTable, + symbol_table: intermediate.SymbolTable, ) -> List[Error]: """Verify that the C++ names of the structures do not collide.""" observed_type_names: Dict[ @@ -143,7 +140,7 @@ def _verify_structure_name_collisions( def _verify_intra_structure_collisions( - our_type: intermediate.OurType, + our_type: intermediate.OurType, ) -> Optional[Error]: """Verify that no member names collide in the Golang structure of our type.""" errors = [] # type: List[Error] @@ -274,14 +271,14 @@ class VerifiedIntermediateSymbolTable(intermediate.SymbolTable): # noinspection PyInitNewSignature def __new__( - cls, symbol_table: intermediate.SymbolTable + cls, symbol_table: intermediate.SymbolTable ) -> "VerifiedIntermediateSymbolTable": raise AssertionError("Only for type annotation") @ensure(lambda result: (result[0] is None) ^ (result[1] is None)) def verify( - symbol_table: intermediate.SymbolTable, + symbol_table: intermediate.SymbolTable, ) -> Tuple[Optional[VerifiedIntermediateSymbolTable], Optional[List[Error]]]: """Verify that Golang code can be generated from the ``symbol_table``.""" errors = [] # type: List[Error] @@ -306,8 +303,8 @@ def verify( @require(lambda enumeration, literal: id(literal) in enumeration.literal_id_set) @require(lambda literal: literal.description is not None) def _generate_comment_for_enumeration_literal( - enumeration: intermediate.Enumeration, - literal: intermediate.EnumerationLiteral, + enumeration: intermediate.Enumeration, + literal: intermediate.EnumerationLiteral, ) -> Tuple[Optional[Stripped], Optional[List[Error]]]: """Generate the documentation comment for the given enumeration literal.""" # NOTE (mristin, 2023-07-14): @@ -336,7 +333,7 @@ def _generate_comment_for_enumeration_literal( @require(lambda cls_or_enum: cls_or_enum.description is not None) def _generate_comment_for_cls_or_enum( - cls_or_enum: Union[intermediate.Enumeration, intermediate.ClassUnion], + cls_or_enum: Union[intermediate.Enumeration, intermediate.ClassUnion], ) -> Tuple[Optional[Stripped], Optional[List[Error]]]: """Generate the documentation comment for our type.""" # NOTE (mristin, 2023-07-14): @@ -366,7 +363,7 @@ def _generate_comment_for_cls_or_enum( @ensure(lambda result: (result[0] is None) ^ (result[1] is None)) def _generate_enum( - enum: intermediate.Enumeration, + enum: intermediate.Enumeration, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Generate the C++ code for the enum.""" writer = io.StringIO() @@ -451,7 +448,7 @@ def _generate_literals_of_enum_definition(enum: intermediate.Enumeration) -> Str def _generate_literals_of_enum_implementation( - enum: intermediate.Enumeration, + enum: intermediate.Enumeration, ) -> Stripped: """Generate the implementation for the constant vector listing the literals.""" enum_name = cpp_naming.enum_name(enum.name) @@ -481,7 +478,7 @@ def _generate_literals_of_enum_implementation( def _generate_model_type_definition( - symbol_table: intermediate.SymbolTable, + symbol_table: intermediate.SymbolTable, ) -> Stripped: """ Generate the enumeration corresponding to the model types. @@ -521,7 +518,7 @@ def _generate_model_type_definition( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_class_interface( - cls: intermediate.ClassUnion, + cls: intermediate.ClassUnion, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Generate the definition of an interface representing a class.""" errors = [] # type: List[Error] @@ -688,7 +685,7 @@ def _generate_class_interface( inheritances_joined = ",\n".join(inheritances) - description_comment = Stripped("") + description_comment = None if cls.description is not None: ( description_comment, @@ -709,7 +706,6 @@ def _generate_class_interface( ) else: assert description_comment is not None - description_comment += "\n" if len(errors) > 0: return None, Error( @@ -718,10 +714,14 @@ def _generate_class_interface( errors, ) + maybe_description_comment_nl = ( + "" if description_comment is None else description_comment + "\n" + ) + return ( Stripped( f"""\ -{description_comment}class {interface_name} +{maybe_description_comment_nl}class {interface_name} {II}: {indent_but_first_line(inheritances_joined, II)} {{ public: {I}{indent_but_first_line(members_joined, I)} @@ -898,9 +898,7 @@ class {cls_name} def _generate_is_cls_definition(cls: intermediate.ClassUnion) -> Stripped: """Generate the definition of the function to check is-a based on model type.""" - function_name = cpp_naming.function_name( - Identifier(f"is_{cls.name}") - ) + function_name = cpp_naming.function_name(Identifier(f"is_{cls.name}")) interface_name = cpp_naming.interface_name(cls.name) @@ -916,7 +914,7 @@ def _generate_is_cls_definition(cls: intermediate.ClassUnion) -> Stripped: * \\param that instance to check for runtime type * \\return `true` if \\p that instance is indeed * an instance of \\ref {interface_name} - */ + */ bool {function_name}( {I}const IClass& that );""" @@ -932,9 +930,9 @@ def _generate_is_cls_definition(cls: intermediate.ClassUnion) -> Stripped: ) # fmt: on def generate_header( - symbol_table: VerifiedIntermediateSymbolTable, - spec_impls: specific_implementations.SpecificImplementations, - library_namespace: Stripped, + symbol_table: VerifiedIntermediateSymbolTable, + spec_impls: specific_implementations.SpecificImplementations, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ header code of the structures based on the symbol table.""" namespace = Stripped(f"{library_namespace}::{cpp_common.TYPES_NAMESPACE}") @@ -951,7 +949,7 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/common.hpp" #pragma warning(push, 0) @@ -960,7 +958,7 @@ def generate_header( #include #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( @@ -1013,7 +1011,7 @@ class IClass {{ {I}/** {I} * Indicate the runtime model type. {I} */ -{I}virtual {model_type_enum} {model_type_getter}() const = 0; +{I}virtual {model_type_enum} {model_type_getter}() const = 0; {I}virtual ~IClass() = default; }};""" ) @@ -1164,7 +1162,7 @@ def _generate_constructor_implementation(cls: intermediate.ConcreteClass) -> Str def _generate_model_type_getter_implementation( - cls: intermediate.ConcreteClass, + cls: intermediate.ConcreteClass, ) -> Stripped: """Implement the getter for the runtime model type.""" enum_name = cpp_naming.enum_name(Identifier("Model_type")) @@ -1183,7 +1181,7 @@ def _generate_model_type_getter_implementation( @require(lambda prop, cls: id(prop) in cls.property_id_set) def _generate_getters_and_setter( - prop: intermediate.Property, cls: intermediate.ConcreteClass + prop: intermediate.Property, cls: intermediate.ConcreteClass ) -> List[Stripped]: """Generate the immutable and mutable getter and the setter.""" cls_name = cpp_naming.class_name(cls.name) @@ -1243,9 +1241,9 @@ def _generate_getters_and_setter( @require(lambda method, cls: id(method) in cls.method_id_set) @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_method_implementation( - method: intermediate.MethodUnion, - cls: intermediate.ConcreteClass, - spec_impls: specific_implementations.SpecificImplementations, + method: intermediate.MethodUnion, + cls: intermediate.ConcreteClass, + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Generate the implementation of the method.""" body = None # type: Optional[Stripped] @@ -1325,8 +1323,8 @@ def _generate_method_implementation( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_class_implementation( - cls: intermediate.ConcreteClass, - spec_impls: specific_implementations.SpecificImplementations, + cls: intermediate.ConcreteClass, + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[List[Stripped]], Optional[Error]]: """Generate the implementation blocks for the given class.""" blocks = [ @@ -1367,20 +1365,15 @@ def _generate_class_implementation( def _generate_is_cls_implementation( - cls: intermediate.ClassUnion, - symbol_table: intermediate.SymbolTable + cls: intermediate.ClassUnion, symbol_table: intermediate.SymbolTable ) -> Stripped: """Generate the impl. of the function to check is-a based on model type.""" - function_name = cpp_naming.function_name( - Identifier(f"is_{cls.name}") - ) + function_name = cpp_naming.function_name(Identifier(f"is_{cls.name}")) case_blocks = [] # type: List[Stripped] for concrete_cls in symbol_table.concrete_classes: case_body = ( - "return true;" - if concrete_cls.is_subclass_of(cls) - else "return false;" + "return true;" if concrete_cls.is_subclass_of(cls) else "return false;" ) model_type_literal = cpp_naming.enum_literal_name(concrete_cls.name) @@ -1431,9 +1424,9 @@ def _generate_is_cls_implementation( ) # fmt: on def generate_implementation( - symbol_table: intermediate.SymbolTable, - spec_impls: specific_implementations.SpecificImplementations, - library_namespace: Stripped, + symbol_table: intermediate.SymbolTable, + spec_impls: specific_implementations.SpecificImplementations, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ implementation code for data structure.""" namespace = Stripped(f"{library_namespace}::types") @@ -1451,27 +1444,27 @@ def generate_implementation( errors = [] # type: List[Error] - for cls in symbol_table.concrete_classes: - if cls.is_implementation_specific: + for concrete_cls in symbol_table.concrete_classes: + if concrete_cls.is_implementation_specific: errors.append( Error( - cls.parsed.node, + concrete_cls.parsed.node, f"We currently do not support implementation-specific classes " - f"in the C++ generator, but the class {cls.name!r} has been marked " - f"as implementation-specific. If you need this feature, please " - f"contact the developers.", + f"in the C++ generator, but the class {concrete_cls.name!r} has " + f"been marked as implementation-specific. If you need " + f"this feature, please contact the developers.", ) ) continue cls_blocks, error = _generate_class_implementation( - cls=cls, spec_impls=spec_impls + cls=concrete_cls, spec_impls=spec_impls ) if error is not None: errors.append(error) else: assert cls_blocks is not None - cls_name = cpp_naming.class_name(cls.name) + cls_name = cpp_naming.class_name(concrete_cls.name) blocks.append(Stripped(f"// region {cls_name}")) blocks.extend(cls_blocks) blocks.append(Stripped(f"// endregion {cls_name}")) @@ -1483,10 +1476,7 @@ def generate_implementation( for cls in symbol_table.classes: blocks.append( - _generate_is_cls_implementation( - cls=cls, - symbol_table=symbol_table - ) + _generate_is_cls_implementation(cls=cls, symbol_table=symbol_table) ) blocks.append(Stripped("// endregion Is-a functions")) @@ -1509,4 +1499,5 @@ def generate_implementation( return writer.getvalue(), None + # endregion diff --git a/aas_core_codegen/cpp/transpilation.py b/aas_core_codegen/cpp/transpilation.py index c78129a8d..bb3b9f765 100644 --- a/aas_core_codegen/cpp/transpilation.py +++ b/aas_core_codegen/cpp/transpilation.py @@ -65,19 +65,21 @@ def _determine_which_to_wstring( base64_encode = cpp_naming.function_name(Identifier("base64_encode")) return f"wstringification::{base64_encode}" else: - return "stringification::to_wstring" + return "wstringification::to_wstring" elif isinstance( type_annotation, intermediate_type_inference.OurTypeAnnotation ) and isinstance(type_annotation.our_type, intermediate.ConstrainedPrimitive): constrainee = type_annotation.our_type.constrainee - if constrainee is intermediate.PrimitiveType.STR: - return None + if constrainee is intermediate.PrimitiveType.BOOL: + return "wstringification::to_wstring" elif constrainee is intermediate.PrimitiveType.INT: return "std::to_wstring" elif constrainee is intermediate.PrimitiveType.FLOAT: return "std::to_wstring" + elif constrainee is intermediate.PrimitiveType.STR: + return None elif constrainee is intermediate.PrimitiveType.BYTEARRAY: base64_encode = cpp_naming.function_name(Identifier("base64_encode")) return f"wstringification::{base64_encode}" @@ -349,7 +351,7 @@ def _transform_and_value_if_necessary( no_parentheses_types = ( parse_tree.FunctionCall, parse_tree.Name, - parse_tree.Constant + parse_tree.Constant, ) if isinstance(node, no_parentheses_types): return Stripped(f"*{code}"), None @@ -388,7 +390,8 @@ def transform_member( # generate the constant name here. return ( self._transform_enumeration_literal( - enumeration_name=instance_type.our_type.name, literal_name=node.name + enumeration_name=instance_type_beneath.our_type.name, + literal_name=node.name, ), None, ) @@ -401,21 +404,21 @@ def transform_member( elif isinstance( instance_type_beneath, intermediate_type_inference.OurTypeAnnotation ) and isinstance(instance_type_beneath.our_type, intermediate.Class): - if node.name in instance_type.our_type.properties_by_name: + if node.name in instance_type_beneath.our_type.properties_by_name: getter_name = cpp_naming.getter_name(node.name) member_accessor = f"{getter_name}()" else: return None, Error( node.original_node, f"The property {node.name!r} has not been defined " - f"in the class {instance_type.our_type.name!r}", + f"in the class {instance_type_beneath.our_type.name!r}", ) elif isinstance( instance_type_beneath, intermediate_type_inference.EnumerationAsTypeTypeAnnotation, ): - if node.name in instance_type.enumeration.literals_by_name: + if node.name in instance_type_beneath.enumeration.literals_by_name: # NOTE (mristin, 2023-06-30): # The member denotes an enumeration literal of an enumeration. # In C++, enumeration literals are mere constants. Hence, we can not @@ -423,7 +426,7 @@ def transform_member( # generate the constant name here. return ( self._transform_enumeration_literal( - enumeration_name=instance_type.enumeration.name, + enumeration_name=instance_type_beneath.enumeration.name, literal_name=node.name, ), None, @@ -432,7 +435,7 @@ def transform_member( return None, Error( node.original_node, f"The literal {node.name!r} has not been defined " - f"in the enumeration {instance_type.enumeration.name!r}", + f"in the enumeration {instance_type_beneath.enumeration.name!r}", ) else: return None, Error( @@ -479,6 +482,7 @@ def transform_index( return Stripped(f"{collection}.back()"), None if index_as_int is not None and index_as_int < -1: + # pylint: disable=invalid-unary-operand-type index = Stripped(f"{collection}.size() - {-index_as_int}") if "\n" in index: @@ -656,17 +660,6 @@ def transform_method_call( assert member_access is not None - no_parentheses_types_in_this_context = ( - parse_tree.Member, - parse_tree.FunctionCall, - parse_tree.MethodCall, - parse_tree.Name, - parse_tree.IsIn, - parse_tree.Index, - parse_tree.All, - parse_tree.Any, - ) - if len(args) == 0: return Stripped(f"{member_access}()"), None @@ -777,7 +770,7 @@ def transform_function_call( assert first_arg is not None if not isinstance(node.args[0], no_parentheses_types_in_this_context): - first_arg = f"({first_arg})" + first_arg = Stripped(f"({first_arg})") return Stripped(f"{first_arg}.size()"), None diff --git a/aas_core_codegen/cpp/verification/_generate.py b/aas_core_codegen/cpp/verification/_generate.py index 32b1e493d..2b0dee53c 100644 --- a/aas_core_codegen/cpp/verification/_generate.py +++ b/aas_core_codegen/cpp/verification/_generate.py @@ -8,7 +8,8 @@ Union, Sequence, Mapping, - Final, Set, + Final, + Set, ) from icontract import ensure, require @@ -45,14 +46,15 @@ # region Generation + @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_verification_function_definition( - verification: Union[ - intermediate.ImplementationSpecificVerification, - intermediate.TranspilableVerification, - intermediate.PatternVerification, - ], - spec_impls: specific_implementations.SpecificImplementations + verification: Union[ + intermediate.ImplementationSpecificVerification, + intermediate.TranspilableVerification, + intermediate.PatternVerification, + ], + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Generate the definition of a verification functions.""" if isinstance(verification, intermediate.ImplementationSpecificVerification): @@ -119,7 +121,7 @@ def _generate_verification_function_definition( def _generate_definition_of_verify_constrained_primitive( - constrained_primitive: intermediate.ConstrainedPrimitive, + constrained_primitive: intermediate.ConstrainedPrimitive, ) -> Stripped: """Generate the def. of a verification function for the constrained primitive.""" verify_name = cpp_naming.function_name( @@ -133,10 +135,10 @@ def _generate_definition_of_verify_constrained_primitive( arg_name = cpp_naming.argument_name(Identifier("that")) if _constrained_primitive_verificator_value_is_pointer( - primitive_type=constrained_primitive.constrainee + primitive_type=constrained_primitive.constrainee ): documentation_comment = Stripped( - f"""\ + """\ /** * \\brief Verify that the invariants hold for \\p that value. * @@ -148,7 +150,7 @@ def _generate_definition_of_verify_constrained_primitive( ) else: documentation_comment = Stripped( - f"""\ + """\ /** * \\brief Verify that the invariants hold for \\p that value. * @@ -175,9 +177,9 @@ def _generate_definition_of_verify_constrained_primitive( ) # fmt: on def generate_header( - symbol_table: intermediate.SymbolTable, - spec_impls: specific_implementations.SpecificImplementations, - library_namespace: Stripped, + symbol_table: intermediate.SymbolTable, + spec_impls: specific_implementations.SpecificImplementations, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ header for the verification code.""" namespace = Stripped(f"{library_namespace}::verification") @@ -194,14 +196,14 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/common.hpp" #include "{include_prefix_path}/iteration.hpp" #include "{include_prefix_path}/types.hpp" #pragma warning(push, 0) #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( @@ -213,14 +215,14 @@ def generate_header( namespace verification {""" ), Stripped( - f"""\ + """\ // region Forward declarations class Iterator; class IVerification; -namespace impl {{ +namespace impl { class IVerificator; -}} // namespace impl +} // namespace impl // endregion Forward declarations""" ), Stripped( @@ -257,7 +259,7 @@ class IVerificator; * * This means that copy-construction and equality comparisons are much more heavy-weight * than you'd usually expect from an STL iterator. For example, if you want to sort - * the errors by some criterion, you are most probably faster if you populate a vector, + * the errors by some criterion, you are most probably faster if you populate a vector, * and then sort the vector. * * Also, given that this iterator is not light-weight, you should in almost all cases @@ -265,10 +267,10 @@ class IVerificator; * increment would create an iterator copy every time. * * We follow the C++ standard, and assume that comparison between the two iterators - * over two different collections results in undefined behavior. See + * over two different collections results in undefined behavior. See * http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2948.html and - * https://stackoverflow.com/questions/4657513/comparing-iterators-from-different-containers. - */ + * https://stackoverflow.com/questions/4657513/comparing-iterators-from-different-containers. + */ class Iterator {{ {I}using iterator_category = std::forward_iterator_tag; {I}/// The difference is meaningless, but has to be defined. @@ -303,12 +305,12 @@ class Iterator {{ {I}friend bool operator==(const Iterator& a, const Iterator& b); {I}friend bool operator!=(const Iterator& a, const Iterator& b); - private: + private: {I}std::unique_ptr verificator_; }};""" ), - Stripped("bool operator==(const Iterator& a, const Iterator& b);"), - Stripped("bool operator!=(const Iterator& a, const Iterator& b);"), + Stripped("bool operator==(const Iterator& a, const Iterator& b);"), + Stripped("bool operator!=(const Iterator& a, const Iterator& b);"), Stripped( f"""\ /// \\cond HIDDEN @@ -322,7 +324,7 @@ class IVerificator {{ {I}virtual const Error& Get() const = 0; {I}virtual Error& GetMutable() = 0; {I}virtual long Index() const = 0; - + {I}virtual std::unique_ptr Clone() const = 0; {I}virtual ~IVerificator() = default; @@ -330,7 +332,7 @@ class IVerificator {{ }} // namespace impl /// \\endcond""" ), - Stripped( + Stripped( f"""\ class IVerification {{ public: @@ -354,7 +356,7 @@ class IVerification {{ * {I}report_somehow(error); * }} * \\endcode - * + * * We use const references to shared pointers here for efficiency. Since * we do not make a copy of \\p that shared pointer, it is very important that * the given shared pointer outlives the verification, lest cause undefined behavior. @@ -414,7 +416,7 @@ class RecursiveVerification : public IVerification {{ private: {I}const std::shared_ptr& instance_; }}; // class RecursiveVerification""" - ) + ), ] # type: List[Stripped] errors = [] # type: List[Error] @@ -424,8 +426,7 @@ class RecursiveVerification : public IVerification {{ for verification in symbol_table.verification_functions: block, error = _generate_verification_function_definition( - verification=verification, - spec_impls=spec_impls + verification=verification, spec_impls=spec_impls ) if error is not None: errors.append(error) @@ -520,6 +521,7 @@ def _generate_new_non_recursive_verificator_definition() -> Stripped: );""" ) + def _generate_iterator_implementation() -> List[Stripped]: """Generate the implementation of the class ``Iterator``.""" return [ @@ -721,7 +723,7 @@ class AlwaysDoneVerificator : public impl::IVerificator {{ {I}bool Done() const override; {I}const Error& Get() const override; {I}Error& GetMutable() override; -{I}long Index() const override; +{I}long Index() const override; {I}std::unique_ptr Clone() const override; {I}virtual ~AlwaysDoneVerificator() = default; @@ -784,7 +786,7 @@ class AlwaysDoneVerificator : public impl::IVerificator {{ @ensure(lambda cls, result: all(id(prop) in cls.property_id_set for prop in result)) def _collect_constrained_primitive_properties( - cls: intermediate.ConcreteClass, + cls: intermediate.ConcreteClass, ) -> List[intermediate.Property]: """Select the properties which are annotated as constrained primitives.""" result = [] # type: List[intermediate.Property] @@ -802,8 +804,8 @@ def _collect_constrained_primitive_properties( result.append(prop) elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass), + type_anno.our_type, + (intermediate.AbstractClass, intermediate.ConcreteClass), ): pass @@ -870,14 +872,13 @@ def __init__(self, cls: intermediate.ConcreteClass) -> None: ) self.is_noop = ( - len(cls.invariants) == 0 and len( - self.constrained_primitive_properties) == 0 + len(cls.invariants) == 0 and len(self.constrained_primitive_properties) == 0 ) @require(lambda verificator_qualities: verificator_qualities.is_noop) def _generate_empty_non_recursive_verificator( - verificator_qualities: VerificatorQualities, + verificator_qualities: VerificatorQualities, ) -> List[Stripped]: """ Generate an implementation of a non-recursive verificator which is always done. @@ -932,7 +933,7 @@ class {of_cls} : public impl::IVerificator {{ {I}throw std::logic_error( {II}"You want to move " {II}"a verificator {of_cls}, " -{II}"but the verificator is always done as " +{II}"but the verificator is always done as " {II}"{interface_name} " {II}"has no invariants defined." {I}); @@ -950,7 +951,7 @@ class {of_cls} : public impl::IVerificator {{ {I}throw std::logic_error( {II}"You want to get from " {II}"a verificator {of_cls}, " -{II}"but the verificator is always done as " +{II}"but the verificator is always done as " {II}"{interface_name} " {II}"has no invariants defined." {I}); @@ -962,7 +963,7 @@ class {of_cls} : public impl::IVerificator {{ {I}throw std::logic_error( {II}"You want to get mutable from " {II}"a verificator {of_cls}, " -{II}"but the verificator is always done as " +{II}"but the verificator is always done as " {II}"{interface_name} " {II}"has no invariants defined." {I}); @@ -988,14 +989,14 @@ class {of_cls} : public impl::IVerificator {{ @require(lambda verificator_qualities: not verificator_qualities.is_noop) @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_non_recursive_verificator_execute( - verificator_qualities: VerificatorQualities, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, + verificator_qualities: VerificatorQualities, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[Stripped], Optional[List[Error]]]: """Generate the impl. of the ``Execute()`` for a verificator of class ``cls``.""" flow = [ yielding_flow.command_from_text( - f"""\ + """\ done_ = false; error_ = nullptr; index_ = -1;""" @@ -1082,7 +1083,7 @@ def _generate_non_recursive_verificator_execute( f"""\ // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly -// copy. +// copy. error_ = common::make_unique( {I}std::move( {II}constrained_primitive_verificator_->GetMutable() @@ -1160,7 +1161,7 @@ def _generate_non_recursive_verificator_execute( flow.append( yielding_flow.command_from_text( - f"""\ + """\ done_ = true; error_ = nullptr; index_ = -1;""" @@ -1190,9 +1191,9 @@ def _generate_non_recursive_verificator_execute( @require(lambda verificator_qualities: not verificator_qualities.is_noop) @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_non_recursive_verificator_implementation( - verificator_qualities: VerificatorQualities, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, + verificator_qualities: VerificatorQualities, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[List[Stripped]], Optional[Error]]: """Generate the impl. of a non-recursive verificator for ``cls``.""" cls = verificator_qualities.cls @@ -1202,7 +1203,7 @@ def _generate_non_recursive_verificator_implementation( interface_name = cpp_naming.interface_name(cls.name) copy_data_members_snippet = Stripped( - f"""\ + """\ instance_ = other.instance_; done_ = other.done_; index_ = other.index_; @@ -1211,7 +1212,7 @@ def _generate_non_recursive_verificator_implementation( ) move_data_members_snippet = Stripped( - f"""\ + """\ instance_ = std::move(other.instance_); done_ = other.done_; index_ = other.index_; @@ -1398,9 +1399,9 @@ def _generate_non_recursive_verificator_implementation( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_non_recursive_verificator( - verificator_qualities: VerificatorQualities, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, + verificator_qualities: VerificatorQualities, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[List[Stripped]], Optional[Error]]: """Generate the non-recursive verificator for the ``cls``.""" cls = verificator_qualities.cls @@ -1466,7 +1467,7 @@ class {of_cls} : public impl::IVerificator {{ {I}const Error& Get() const override; {I}Error& GetMutable() override; {I}long Index() const override; - + {I}std::unique_ptr Clone() const override; {I}~{of_cls}() override = default; @@ -1494,7 +1495,7 @@ class {of_cls} : public impl::IVerificator {{ def _generate_new_non_recursive_verificator_implementation( - symbol_table: intermediate.SymbolTable, + symbol_table: intermediate.SymbolTable, ) -> Stripped: """Generate the factory of non-recursive verificators based on the model type.""" case_blocks = [] # type: List[Stripped] @@ -1557,7 +1558,7 @@ def _generate_recursive_verificator_execute() -> Stripped: """Generate the impl. of the ``Execute()`` method for recursive verificator.""" flow = [ yielding_flow.command_from_text( - f"""\ + """\ error_ = nullptr; index_ = -1; done_ = false; @@ -1643,13 +1644,13 @@ def _generate_recursive_verificator_execute() -> Stripped: ], ), yielding_flow.command_from_text( - f"""\ + """\ iterator_.reset(); iterator_end_.reset(); done_ = true; index_ = -1;""" ), - ] + ] # type: Sequence[yielding_flow.Node] code = cpp_yielding.generate_execute_body( flow=flow, state_member=Identifier("state_") @@ -1685,7 +1686,7 @@ class RecursiveVerificator : public impl::IVerificator {{ {I}const Error& Get() const override; {I}Error& GetMutable() override; {I}long Index() const override; - + {I}std::unique_ptr Clone() const override; {I}~RecursiveVerificator() override = default; @@ -1848,7 +1849,7 @@ class RecursiveVerificator : public impl::IVerificator {{ Stripped( f"""\ std::unique_ptr RecursiveVerificator::Clone() const {{ -{I}return common::make_unique(*this); +{I}return common::make_unique(*this); }}""" ), ] # type: List[Stripped] @@ -1863,7 +1864,7 @@ class _RegexRendererForUTF16(parse_retree.Renderer): """Render the regular expressions for C++ consisting of only 2-byte characters.""" def char_to_str_and_escape_or_encode_if_necessary( - self, node: parse_retree.Char, escaping: Mapping[str, str] + self, node: parse_retree.Char, escaping: Mapping[str, str] ) -> List[Union[str, parse_tree.FormattedValue]]: """Convert the ``node`` to a string, and escape and/or encode appropriately.""" if not node.explicitly_encoded: @@ -1899,7 +1900,7 @@ class _RegexRendererForUTF32(parse_retree.Renderer): """Render the regular expressions for C++ consisting of 4-byte characters.""" def char_to_str_and_escape_or_encode_if_necessary( - self, node: parse_retree.Char, escaping: Mapping[str, str] + self, node: parse_retree.Char, escaping: Mapping[str, str] ) -> List[Union[str, parse_tree.FormattedValue]]: """Convert the ``node`` to a string, and escape and/or encode appropriately.""" if not node.explicitly_encoded: @@ -1946,7 +1947,7 @@ def _fix_regex_in_place(self, regex: parse_retree.Regex) -> None: parse_retree.fix_for_utf16_regex_in_place(regex) def _render_regex( - self, regex: parse_retree.Regex + self, regex: parse_retree.Regex ) -> List[Union[str, parse_tree.FormattedValue]]: """Render the regular expression to parts of a joined string.""" if self.wstring_encoding is _WstringEncoding.UTF16: @@ -1960,7 +1961,7 @@ def _render_regex( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def transform_constant( - self, node: parse_tree.Constant + self, node: parse_tree.Constant ) -> Tuple[Optional[Stripped], Optional[Error]]: if isinstance(node.value, str): # NOTE (mristin, 2023-10-18): @@ -1998,7 +1999,7 @@ def transform_constant( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _transform_joined_str_values( - self, values: Sequence[Union[str, parse_tree.FormattedValue]] + self, values: Sequence[Union[str, parse_tree.FormattedValue]] ) -> Tuple[Optional[Stripped], Optional[Error]]: """Transform the values of a joined string to a Python string literal.""" # If we do not need interpolation, simply return the string literals @@ -2030,7 +2031,7 @@ def _transform_joined_str_values( assert code is not None assert ( - "\n" not in code + "\n" not in code ), f"New-lines are not expected in formatted values, but got: {code}" args.append(code) @@ -2053,13 +2054,13 @@ def _transform_joined_str_values( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def transform_name( - self, node: parse_tree.Name + self, node: parse_tree.Name ) -> Tuple[Optional[Stripped], Optional[Error]]: return Stripped(cpp_naming.variable_name(node.identifier)), None @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def transform_joined_str( - self, node: parse_tree.JoinedStr + self, node: parse_tree.JoinedStr ) -> Tuple[Optional[Stripped], Optional[Error]]: regex, parse_error = parse_retree.parse(values=node.values) if parse_error is not None: @@ -2083,7 +2084,7 @@ def transform_joined_str( return self._transform_joined_str_values(values=self._render_regex(regex=regex)) def transform_assignment( - self, node: parse_tree.Assignment + self, node: parse_tree.Assignment ) -> Tuple[Optional[Stripped], Optional[Error]]: assert isinstance(node.target, parse_tree.Name) variable = cpp_naming.variable_name(node.target.identifier) @@ -2101,7 +2102,7 @@ def transform_assignment( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_pattern_verification_implementation( - verification: intermediate.PatternVerification, + verification: intermediate.PatternVerification, ) -> Tuple[Optional[List[Stripped]], Optional[Error]]: """Generate the implementation of the given pattern verification function.""" # NOTE (mristin, 2023-10-18): @@ -2185,8 +2186,8 @@ def _generate_pattern_verification_implementation( blocks: List[Stripped] if ( - stmts_utf16_joined == stmts_utf32_joined - and pattern_expr_utf16 == pattern_expr_utf32 + stmts_utf16_joined == stmts_utf32_joined + and pattern_expr_utf16 == pattern_expr_utf32 ): blocks = [ Stripped( @@ -2270,14 +2271,14 @@ class _TranspilableVerificationTranspiler(cpp_transpilation.Transpiler): ) # fmt: on def __init__( - self, - type_map: Mapping[ - parse_tree.Node, intermediate_type_inference.TypeAnnotationUnion - ], - is_optional_map: Mapping[parse_tree.Node, bool], - environment: intermediate_type_inference.Environment, - symbol_table: intermediate.SymbolTable, - verification: intermediate.TranspilableVerification, + self, + type_map: Mapping[ + parse_tree.Node, intermediate_type_inference.TypeAnnotationUnion + ], + is_optional_map: Mapping[parse_tree.Node, bool], + environment: intermediate_type_inference.Environment, + symbol_table: intermediate.SymbolTable, + verification: intermediate.TranspilableVerification, ) -> None: """Initialize with the given values.""" cpp_transpilation.Transpiler.__init__( @@ -2293,7 +2294,7 @@ def __init__( self._argument_name_set = frozenset(arg.name for arg in verification.arguments) def transform_name( - self, node: parse_tree.Name + self, node: parse_tree.Name ) -> Tuple[Optional[Stripped], Optional[Error]]: if node.identifier in self._variable_name_set: return Stripped(cpp_naming.variable_name(node.identifier)), None @@ -2329,9 +2330,9 @@ def transform_name( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_implementation_of_transpilable_verification( - verification: intermediate.TranspilableVerification, - symbol_table: intermediate.SymbolTable, - base_environment: intermediate_type_inference.Environment, + verification: intermediate.TranspilableVerification, + symbol_table: intermediate.SymbolTable, + base_environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Transpile the verification to a function implementation.""" canonicalizer = intermediate_type_inference.Canonicalizer() @@ -2436,13 +2437,13 @@ class _ClassInvariantTranspiler(cpp_transpilation.Transpiler): """Transpile invariants of the classes.""" def __init__( - self, - type_map: Mapping[ - parse_tree.Node, intermediate_type_inference.TypeAnnotationUnion - ], - is_optional_map: Mapping[parse_tree.Node, bool], - environment: intermediate_type_inference.Environment, - symbol_table: intermediate.SymbolTable, + self, + type_map: Mapping[ + parse_tree.Node, intermediate_type_inference.TypeAnnotationUnion + ], + is_optional_map: Mapping[parse_tree.Node, bool], + environment: intermediate_type_inference.Environment, + symbol_table: intermediate.SymbolTable, ) -> None: """Initialize with the given values.""" cpp_transpilation.Transpiler.__init__( @@ -2456,7 +2457,7 @@ def __init__( self._symbol_table = symbol_table def transform_name( - self, node: parse_tree.Name + self, node: parse_tree.Name ) -> Tuple[Optional[Stripped], Optional[Error]]: if node.identifier in self._variable_name_set: return Stripped(cpp_naming.variable_name(node.identifier)), None @@ -2493,9 +2494,9 @@ def transform_name( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _transpile_class_invariant( - invariant: intermediate.Invariant, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, + invariant: intermediate.Invariant, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Translate the invariant from the meta-model into a C++ condition.""" canonicalizer = intermediate_type_inference.Canonicalizer() @@ -2548,7 +2549,7 @@ def _transpile_class_invariant( @require(lambda constrained_primitive: len(constrained_primitive.invariants) == 0) def _generate_empty_constrained_primitive_verificator( - constrained_primitive: intermediate.ConstrainedPrimitive, + constrained_primitive: intermediate.ConstrainedPrimitive, ) -> List[Stripped]: """ Generate a constrained primitive verificator which is always done. @@ -2605,7 +2606,7 @@ class {of_constrained_primitive} : public impl::IVerificator {{ {I}throw std::logic_error( {II}"You want to move " {II}"a verificator {of_constrained_primitive}, " -{II}"but the verificator is always done as " +{II}"but the verificator is always done as " {II}"there are no invariants defined for this constrained primitive." {I}); }}""" @@ -2622,7 +2623,7 @@ class {of_constrained_primitive} : public impl::IVerificator {{ {I}throw std::logic_error( {II}"You want to get from " {II}"a verificator {of_constrained_primitive}, " -{II}"but the verificator is always done as " +{II}"but the verificator is always done as " {II}"there are no invariants defined for this constrained primitive." {I}); }}""" @@ -2633,7 +2634,7 @@ class {of_constrained_primitive} : public impl::IVerificator {{ {I}throw std::logic_error( {II}"You want to get mutable from " {II}"a verificator {of_constrained_primitive}, " -{II}"but the verificator is always done as " +{II}"but the verificator is always done as " {II}"there are no invariants defined for this constrained primitive." {I}); }}""" @@ -2656,7 +2657,7 @@ class {of_constrained_primitive} : public impl::IVerificator {{ def _constrained_primitive_verificator_value_is_pointer( - primitive_type: intermediate.PrimitiveType, + primitive_type: intermediate.PrimitiveType, ) -> bool: """ Check whether we keep the value of a constrained primitive as a pointer. @@ -2690,14 +2691,14 @@ class _ConstrainedPrimitiveInvariantTranspiler(cpp_transpilation.Transpiler): """Transpile invariants of the constrained primitives.""" def __init__( - self, - type_map: Mapping[ - parse_tree.Node, intermediate_type_inference.TypeAnnotationUnion - ], - is_optional_map: Mapping[parse_tree.Node, bool], - environment: intermediate_type_inference.Environment, - symbol_table: intermediate.SymbolTable, - constrained_primitive: intermediate.ConstrainedPrimitive, + self, + type_map: Mapping[ + parse_tree.Node, intermediate_type_inference.TypeAnnotationUnion + ], + is_optional_map: Mapping[parse_tree.Node, bool], + environment: intermediate_type_inference.Environment, + symbol_table: intermediate.SymbolTable, + constrained_primitive: intermediate.ConstrainedPrimitive, ) -> None: """Initialize with the given values.""" cpp_transpilation.Transpiler.__init__( @@ -2712,7 +2713,7 @@ def __init__( self._constrained_primitive = constrained_primitive def transform_name( - self, node: parse_tree.Name + self, node: parse_tree.Name ) -> Tuple[Optional[Stripped], Optional[Error]]: if node.identifier in self._variable_name_set: return Stripped(cpp_naming.variable_name(node.identifier)), None @@ -2720,7 +2721,7 @@ def transform_name( if node.identifier == "self": # The ``value_`` refers to the value under verification. if _constrained_primitive_verificator_value_is_pointer( - primitive_type=self._constrained_primitive.constrainee + primitive_type=self._constrained_primitive.constrainee ): return Stripped("(*value_)"), None else: @@ -2760,10 +2761,10 @@ def transform_name( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) # fmt: on def _transpile_constrained_primitive_invariant( - invariant: intermediate.Invariant, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, - constrained_primitive: intermediate.ConstrainedPrimitive, + invariant: intermediate.Invariant, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, + constrained_primitive: intermediate.ConstrainedPrimitive, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Translate the invariant from the meta-model into a C++ condition.""" canonicalizer = intermediate_type_inference.Canonicalizer() @@ -2817,14 +2818,14 @@ def _transpile_constrained_primitive_invariant( @require(lambda constrained_primitive: len(constrained_primitive.invariants) > 0) def _generate_constrained_primitive_verificator_execute( - constrained_primitive: intermediate.ConstrainedPrimitive, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, + constrained_primitive: intermediate.ConstrainedPrimitive, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[Stripped], Optional[List[Error]]]: """Generate the ``Execute()`` in the constrained primitive verificator.""" flow = [ yielding_flow.command_from_text( - f"""\ + """\ done_ = false; error_ = nullptr; index_ = -1;""" @@ -2873,7 +2874,7 @@ def _generate_constrained_primitive_verificator_execute( flow.append( yielding_flow.command_from_text( - f"""\ + """\ done_ = true; error_ = nullptr; index_ = -1;""" @@ -2904,9 +2905,9 @@ def _generate_constrained_primitive_verificator_execute( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_constrained_primitive_verificator( - constrained_primitive: intermediate.ConstrainedPrimitive, - symbol_table: intermediate.SymbolTable, - environment: intermediate_type_inference.Environment, + constrained_primitive: intermediate.ConstrainedPrimitive, + symbol_table: intermediate.SymbolTable, + environment: intermediate_type_inference.Environment, ) -> Tuple[Optional[List[Stripped]], Optional[Error]]: """Generate the def. and impl. of a verificator for a constrained primitive.""" if len(constrained_primitive.invariants) == 0: @@ -2927,7 +2928,7 @@ def _generate_constrained_primitive_verificator( value_type = cpp_common.generate_primitive_type(constrained_primitive.constrainee) if _constrained_primitive_verificator_value_is_pointer( - constrained_primitive.constrainee + constrained_primitive.constrainee ): data_value_type = f"const {value_type}*" @@ -2939,7 +2940,7 @@ def _generate_constrained_primitive_verificator( constructor_init = "value_(value)" move_snippet = Stripped( - f"""\ + """\ value_ = other.value_; index_ = other.index_; error_ = std::move(other.error_); @@ -3144,7 +3145,7 @@ class {of_constrained_primitive} : public impl::IVerificator {{ def _generate_implementation_of_verify_constrained_primitive( - constrained_primitive: intermediate.ConstrainedPrimitive, + constrained_primitive: intermediate.ConstrainedPrimitive, ) -> Stripped: """Generate the implementation of the function ``Verify{Constrained Primitive}``.""" verify_name = cpp_naming.function_name( @@ -3172,7 +3173,7 @@ def _generate_implementation_of_verify_constrained_primitive( def _generate_constrained_primitive_verification( - constrained_primitive: intermediate.ConstrainedPrimitive, + constrained_primitive: intermediate.ConstrainedPrimitive, ) -> List[Stripped]: """Generate the verification class for the constrained primitive.""" of_constrained_primitive = cpp_naming.class_name( @@ -3250,9 +3251,9 @@ class {of_constrained_primitive} : public IVerification {{ ) # fmt: on def generate_implementation( - symbol_table: intermediate.SymbolTable, - spec_impls: specific_implementations.SpecificImplementations, - library_namespace: Stripped, + symbol_table: intermediate.SymbolTable, + spec_impls: specific_implementations.SpecificImplementations, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ implementation of the verification code..""" namespace = Stripped(f"{library_namespace}::{cpp_common.VERIFICATION_NAMESPACE}") @@ -3268,7 +3269,7 @@ def generate_implementation( blocks = [ cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/constants.hpp" #include "{include_prefix_path}/verification.hpp" @@ -3276,7 +3277,7 @@ def generate_implementation( #include #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(namespace), *_generate_error_implementation(), @@ -3315,7 +3316,7 @@ def generate_implementation( blocks.append(block) elif isinstance( - verification, intermediate.ImplementationSpecificVerification + verification, intermediate.ImplementationSpecificVerification ): implementation_key = specific_implementations.ImplementationKey( f"verification/{verification.name}.cpp" @@ -3471,4 +3472,5 @@ def generate_implementation( return writer.getvalue(), None + # endregion diff --git a/aas_core_codegen/cpp/visitation/_generate.py b/aas_core_codegen/cpp/visitation/_generate.py index 8c1863b66..764cdb716 100644 --- a/aas_core_codegen/cpp/visitation/_generate.py +++ b/aas_core_codegen/cpp/visitation/_generate.py @@ -3,7 +3,8 @@ import io from typing import ( Optional, - List, Tuple, + List, + Tuple, ) from icontract import ensure @@ -62,7 +63,7 @@ class IVisitor {{ {I} * Visit \\p that instance and recursively visit all the instances {I} * referenced from \\p that instance. {I} * -{I} * We use const references to shared pointers here for efficiency in case you want, +{I} * We use const references to shared pointers here for efficiency in case you want, {I} * say, to share ownership over instances in your own external containers. Since {I} * we do not make copies of the shared pointers, it is very important that {I} * the given shared pointers outlive the visitor, lest cause undefined behavior. @@ -70,10 +71,10 @@ class IVisitor {{ {I} * * https://stackoverflow.com/questions/12002480/passing-stdshared-ptr-to-constructors/12002668#12002668 {I} * * https://stackoverflow.com/questions/3310737/should-we-pass-a-shared-ptr-by-reference-or-by-value {I} * * https://stackoverflow.com/questions/37610494/passing-const-shared-ptrt-versus-just-shared-ptrt-as-parameter -{I} * -{I} * Changing the references during the visitation results in undefined +{I} * +{I} * Changing the references during the visitation results in undefined {I} * behavior. This follows how STL deals with modifications to containers, see: -{I} * https://stackoverflow.com/questions/6438086/iterator-invalidation-rules-for-c-containers +{I} * https://stackoverflow.com/questions/6438086/iterator-invalidation-rules-for-c-containers {I} * {I} * \\param that instance to be visited recursively {I} */ @@ -429,11 +430,8 @@ def _generate_mutating_pass_through_visitor_implementation( ] for cls in symbol_table.concrete_classes: - body, is_recursive = ( - _generate_pass_through_visit_body_for_class( - cls=cls, - mutating=True - ) + body, is_recursive = _generate_pass_through_visit_body_for_class( + cls=cls, mutating=True ) method_name = cpp_naming.method_name(Identifier(f"visit_{cls.name}")) that_type = cpp_naming.interface_name(cls.name) @@ -488,14 +486,14 @@ def generate_implementation( blocks = [ cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/types.hpp" #include "{include_prefix_path}/stringification.hpp" #include "{include_prefix_path}/visitation.hpp" #pragma warning(push, 0) #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(namespace), *_generate_mutating_abstract_visitor_implementation(symbol_table=symbol_table), diff --git a/aas_core_codegen/cpp/wstringification/_generate.py b/aas_core_codegen/cpp/wstringification/_generate.py index cecbf05c2..f349bea3d 100644 --- a/aas_core_codegen/cpp/wstringification/_generate.py +++ b/aas_core_codegen/cpp/wstringification/_generate.py @@ -18,7 +18,6 @@ INDENT3 as III, INDENT4 as IIII, INDENT5 as IIIII, - INDENT6 as IIIIII, ) @@ -38,7 +37,7 @@ def _generate_model_type_from_wstring_definition() -> List[Stripped]: * * \\param text to be parsed * \\return literal, or nothing, if \\p text invalid - */ + */ common::optional {from_wstring}( {I}const std::wstring& text );""" @@ -259,7 +258,7 @@ def _generate_enum_from_wstring_definition( * * \\param text to be parsed * \\return literal, or nothing, if \\p text invalid - */ + */ common::optional {from_wstring}( {I}const std::wstring& text );""" @@ -483,9 +482,9 @@ def _generate_base64_encode_implementation() -> List[Stripped]: return [ Stripped( - f"""\ + """\ // The following encoder has been adapted from Jouni Malinen to work with -// std::wstring. The original source code is available at: +// std::wstring. The original source code is available at: // https://web.mit.edu/freebsd/head/contrib/wpa/src/utils/base64.c""" ), Stripped( @@ -595,14 +594,14 @@ def generate_header( ), cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/common.hpp" #include "{include_prefix_path}/types.hpp" #pragma warning(push, 0) #include #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(library_namespace), Stripped( @@ -665,12 +664,12 @@ def generate_implementation( blocks = [ cpp_common.WARNING, Stripped( - f'''\ + f"""\ #include "{include_prefix_path}/wstringification.hpp" #pragma warning(push, 0) #include -#pragma warning(pop)''' +#pragma warning(pop)""" ), cpp_common.generate_namespace_opening(namespace), *_generate_model_type_from_wstring_implementation(symbol_table=symbol_table), diff --git a/aas_core_codegen/cpp/xmlization/_generate.py b/aas_core_codegen/cpp/xmlization/_generate.py index f3be99033..04c8870fb 100644 --- a/aas_core_codegen/cpp/xmlization/_generate.py +++ b/aas_core_codegen/cpp/xmlization/_generate.py @@ -21,12 +21,12 @@ INDENT4 as IIII, INDENT5 as IIIII, INDENT6 as IIIIII, - INDENT7 as IIIIIII + INDENT7 as IIIIIII, ) def _generate_deserialize_definitions( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> List[Stripped]: """Generate the definitions of the de-serialization functions ``*From``.""" result = [ @@ -52,9 +52,7 @@ def _generate_deserialize_definitions( for cls in symbol_table.classes: interface_name = cpp_naming.interface_name(cls.name) - function_name = cpp_naming.function_name( - Identifier(f"{cls.name}_from") - ) + function_name = cpp_naming.function_name(Identifier(f"{cls.name}_from")) result.append( Stripped( f"""\ @@ -88,7 +86,7 @@ def _generate_deserialize_definitions( ) # fmt: on def generate_header( - symbol_table: intermediate.SymbolTable, library_namespace: Stripped + symbol_table: intermediate.SymbolTable, library_namespace: Stripped ) -> str: """Generate the C++ header code for JSON de/serialization.""" namespace = Stripped(f"{library_namespace}::{cpp_common.XMLIZATION_NAMESPACE}") @@ -126,7 +124,7 @@ def generate_header( namespace {cpp_common.XMLIZATION_NAMESPACE} {{""" ), Stripped( - f"""\ + """\ /** * Specify the expected XML namespace of all the XML elements. */ @@ -584,7 +582,6 @@ def _generate_path_implementation() -> List[Stripped]: {I}return out; }}""" ), - ] @@ -664,7 +661,7 @@ def _generate_node_kind() -> List[Stripped]: {I}return it->second; }}""" - ) + ), ] @@ -811,102 +808,6 @@ class ErrorNode : public INode {{ {I}~ErrorNode() override = default; }}; // class ErrorNode""" ), - # TODO (mristin, 2023-12-09): remove if not needed anywhere - # Stripped( - # f"""\ - # const StartNode& MustAsStartNode( - # {I}const INode& node - # ) {{ - # {I}if (node.kind() != NodeKind::Start) {{ - # {II}throw std::logic_error( - # {III}common::Concat( - # {IIII}"Expected a start element, but got ", - # {IIII}NodeKindToHumanReadableString(node.kind()) - # {III}) - # {II}); - # {I}}} - # - # {I}return static_cast< // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast) - # {II}const StartNode& - # {I}>(node); - # }}""" - # ), - # Stripped( - # f"""\ - # const EndNode& MustAsEndNode( - # {I}const INode& node - # ) {{ - # {I}if (node.kind() != NodeKind::End) {{ - # {II}throw std::logic_error( - # {III}common::Concat( - # {IIII}"Expected an end element, but got ", - # {IIII}NodeKindToHumanReadableString(node.kind()) - # {III}) - # {II}); - # {I}}} - # - # {I}return static_cast< // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast) - # {II}const EndNode& - # {I}>(node); - # }}""" - # ), - # Stripped( - # f"""\ - # const EndNode& MustAsTextNode( - # {I}const INode& node - # ) {{ - # {I}if (node.kind() != NodeKind::Text) {{ - # {II}throw std::logic_error( - # {III}common::Concat( - # {IIII}"Expected a text, but got ", - # {IIII}NodeKindToHumanReadableString(node.kind()) - # {III}) - # {II}); - # {I}}} - # - # {I}return static_cast< // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast) - # {II}const TextNode& - # {I}>(node); - # }}""" - # ), - # Stripped( - # f"""\ - # const EofNode& MustAsEofNode( - # {I}const INode& node - # ) {{ - # {I}if (node.kind() != NodeKind::Eof) {{ - # {II}throw std::logic_error( - # {III}common::Concat( - # {IIII}"Expected an end-of-input, but got ", - # {IIII}NodeKindToHumanReadableString(node.kind()) - # {III}) - # {II}); - # {I}}} - # - # {I}return static_cast< // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast) - # {II}const EofNode& - # {I}>(node); - # }}""" - # ), - # Stripped( - # f"""\ - # const ErrorNode& MustAsErrorNode( - # {I}const INode& node - # ) {{ - # {I}if (node.kind() != NodeKind::Error) {{ - # {II}throw std::logic_error( - # {III}common::Concat( - # {IIII}"Expected an error, but got ", - # {IIII}NodeKindToHumanReadableString(node.kind()) - # {III}) - # {II}); - # {I}}} - # - # {I}return static_cast< // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast) - # {II}const ErrorNode& - # {I}>(node); - # }}""" - # ), Stripped("// endregion Nodes"), ] @@ -1674,7 +1575,7 @@ class ReaderMergingText {{ def _generate_forward_declarations_of_deserialization_functions( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> List[Stripped]: """ Generate forward declarations of all the de-serialization functions. @@ -1685,11 +1586,11 @@ def _generate_forward_declarations_of_deserialization_functions( result = [ Stripped("// region Forward declarations of de-serialization functions"), Stripped( - f"""\ + """\ // NOTE (mristin): // We make forward declarations of de-serialization functions so that they can be // called in any order.""" - ) + ), ] for cls in symbol_table.classes: @@ -1752,7 +1653,7 @@ def _generate_forward_declarations_of_deserialization_functions( def _generate_element_name_to_model_type( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> List[Stripped]: """Generate the mapping XML element name 🠒 model type.""" items = [] # type: List[Stripped] @@ -1775,9 +1676,7 @@ def _generate_element_name_to_model_type( items_joined = ",\n".join(items) - function_name = cpp_naming.function_name( - Identifier("model_type_from_element_name") - ) + function_name = cpp_naming.function_name(Identifier("model_type_from_element_name")) return [ Stripped( @@ -1804,7 +1703,7 @@ def _generate_element_name_to_model_type( {I}return it->second; }}""" - ) + ), ] @@ -1930,7 +1829,7 @@ def _generate_node_to_human_readable_string() -> List[Stripped]: {III}); {I}}} }}""" - ) + ), ] @@ -2104,9 +2003,10 @@ def _generate_instance_and_error_factories_and_manipulations() -> List[Stripped] {I}return common::nullopt; }}""" - ) + ), ] + def _generate_skip_bof() -> Stripped: """Generate the function to skip the beginning-of-file and read the first node.""" return Stripped( @@ -2208,14 +2108,14 @@ def _generate_skip_whitespace() -> List[Stripped]: {I}return common::nullopt; }}""" - ) + ), ] def _generate_class_from_element( - interface_name: Identifier, - function_name: Identifier, - concrete_classes: Sequence[intermediate.ConcreteClass] + interface_name: Identifier, + function_name: Identifier, + concrete_classes: Sequence[intermediate.ConcreteClass], ) -> Stripped: """ Generate the de-serialization function from element. @@ -2575,7 +2475,7 @@ def _generate_functions_to_deserialize_primitives() -> List[Stripped]: {II}// See: https://stackoverflow.com/questions/25573996/c4127-conditional-expression-is-constant {II}const bool sizeof_int_is_8 = sizeof(int) == 8; {II}const bool sizeof_long_is_8 = sizeof(long) == 8; -{II}const bool sizeof_long_long_is_8 = sizeof(long long) == 8; +{II}const bool sizeof_long_long_is_8 = sizeof(long long) == 8; {II}if (sizeof_int_is_8) {{ {III}deserialized = std::stoi(text); @@ -2856,7 +2756,7 @@ def _generate_functions_to_deserialize_primitives() -> List[Stripped]: def _generate_property_enums_from_strings( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> List[Stripped]: """Generate the property enums for each class and their mapping from strings.""" result = [ @@ -2864,9 +2764,7 @@ def _generate_property_enums_from_strings( ] for cls in symbol_table.concrete_classes: - enum_name = cpp_naming.enum_name( - Identifier(f"Of_{cls.name}") - ) + enum_name = cpp_naming.enum_name(Identifier(f"Of_{cls.name}")) literals = [] # type: List[Stripped] for i, prop in enumerate(cls.properties): @@ -2885,13 +2783,9 @@ def _generate_property_enums_from_strings( ) for cls in symbol_table.concrete_classes: - enum_name = cpp_naming.enum_name( - Identifier(f"Of_{cls.name}") - ) + enum_name = cpp_naming.enum_name(Identifier(f"Of_{cls.name}")) - map_name = cpp_naming.constant_name( - Identifier(f"map_of_{cls.name}") - ) + map_name = cpp_naming.constant_name(Identifier(f"map_of_{cls.name}")) items = [] # type: List[Stripped] for prop in cls.properties: @@ -2928,7 +2822,7 @@ def _generate_property_enums_from_strings( def _generate_deserialize_primitive_property( - prop: intermediate.Property, + prop: intermediate.Property, ) -> Tuple[Stripped, bool]: """ Generate the de-serialization snippet for a property annotated with primitive type. @@ -2947,17 +2841,20 @@ def _generate_deserialize_primitive_property( var_name = cpp_naming.variable_name(Identifier(f"the_{prop.name}")) deserialize_function = _PRIMITIVE_TYPE_TO_DESERIALIZE[primitive_type] - return Stripped( - f"""\ + return ( + Stripped( + f"""\ std::tie( {I}{var_name}, {I}error ) = {deserialize_function}(reader);""" - ), False + ), + False, + ) def _generate_deserialize_enumeration_property( - prop: intermediate.Property, + prop: intermediate.Property, ) -> Tuple[Stripped, bool]: """ Generate the de-serialization snippet for an enumeration. @@ -2978,8 +2875,9 @@ def _generate_deserialize_enumeration_property( var_name = cpp_naming.variable_name(Identifier(f"the_{prop.name}")) - return Stripped( - f"""\ + return ( + Stripped( + f"""\ common::optional text; std::tie( {I}text, @@ -3003,11 +2901,13 @@ def _generate_deserialize_enumeration_property( {II}) {I}); }}""" - ), True + ), + True, + ) def _generate_deserialize_instance_property( - prop: intermediate.Property, + prop: intermediate.Property, ) -> Tuple[Stripped, bool]: """ Generate the de-serialization snippet for a property annotated with our class type. @@ -3034,31 +2934,37 @@ def _generate_deserialize_instance_property( ) interface_name = cpp_naming.interface_name(cls.name) - return Stripped( - f"""\ + return ( + Stripped( + f"""\ std::tie( {I}{var_name}, {I}error ) = {from_sequence_name}< {I}types::{interface_name} >(reader);""" - ), False + ), + False, + ) else: from_element_name = cpp_naming.function_name( Identifier(f"{cls.name}_from_element") ) - return Stripped( - f"""\ + return ( + Stripped( + f"""\ std::tie( {I}{var_name}, {I}error ) = {from_element_name}(reader);""" - ), False + ), + False, + ) def _generate_deserialize_list_property( - prop: intermediate.Property, + prop: intermediate.Property, ) -> Tuple[Stripped, bool]: """ Generate the de-serialization snippet for a property annotated with a list type. @@ -3069,12 +2975,9 @@ def _generate_deserialize_list_property( type_anno = intermediate.beneath_optional(prop.type_annotation) assert isinstance(type_anno, intermediate.ListTypeAnnotation) - assert ( - isinstance(type_anno.items, intermediate.OurTypeAnnotation) - and isinstance( + assert isinstance(type_anno.items, intermediate.OurTypeAnnotation) and isinstance( type_anno.items.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) - ) + (intermediate.AbstractClass, intermediate.ConcreteClass), ), ( f"NOTE (mristin, 2023-12-10): We expect only lists of classes " f"at the moment, but you specified {type_anno}. " @@ -3082,17 +2985,14 @@ def _generate_deserialize_list_property( ) item_type = cpp_common.generate_type( - type_annotation=type_anno.items, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno.items, types_namespace=cpp_common.TYPES_NAMESPACE ) from_element_name = cpp_naming.function_name( Identifier(f"{type_anno.items.our_type.name}_from_element") ) - var_name = cpp_naming.variable_name( - Identifier(f"the_{prop.name}") - ) + var_name = cpp_naming.variable_name(Identifier(f"the_{prop.name}")) # NOTE (mristin, 2023-12-12): # We use std::deque here as it is a buffered list, while a std::list @@ -3101,8 +3001,9 @@ def _generate_deserialize_list_property( # leading potentially to out-of-memory errors since std::vector's double # their size for amortized time complexity of O(1) for insertions. - return Stripped( - f"""\ + return ( + Stripped( + f"""\ std::deque< {I}{item_type} > items; @@ -3151,11 +3052,13 @@ def _generate_deserialize_list_property( {II}); {I}}} }}""" - ), True + ), + True, + ) def _generate_deserialize_property( - prop: intermediate.Property + prop: intermediate.Property, ) -> Tuple[Stripped, bool]: """ Generate the de-serialization snippet for the given property. @@ -3184,8 +3087,7 @@ def _generate_deserialize_property( prop=prop, ) elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) + type_anno.our_type, (intermediate.AbstractClass, intermediate.ConcreteClass) ): return _generate_deserialize_instance_property( prop=prop, @@ -3202,8 +3104,8 @@ def _generate_deserialize_property( @ensure(lambda result: (result[0] is not None) ^ (result[1] is not None)) def _generate_from_sequence( - cls: intermediate.ConcreteClass, - spec_impls: specific_implementations.SpecificImplementations + cls: intermediate.ConcreteClass, + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[Stripped], Optional[Error]]: """Generate the de-serialization of a sequence of XML elements as properties.""" if cls.is_implementation_specific: @@ -3220,9 +3122,7 @@ def _generate_from_sequence( ) return code, None - function_name = cpp_naming.function_name( - Identifier(f"{cls.name}_from_sequence") - ) + function_name = cpp_naming.function_name(Identifier(f"{cls.name}_from_sequence")) blocks = [ Stripped( @@ -3247,7 +3147,7 @@ def _generate_from_sequence( {II}std::move(*error) {I}); }}""" - ) + ), ] # type: List[Stripped] interface_name = cpp_naming.interface_name(cls.name) @@ -3266,7 +3166,7 @@ def _generate_from_sequence( ) if not isinstance( - prop.type_annotation, intermediate.OptionalTypeAnnotation + prop.type_annotation, intermediate.OptionalTypeAnnotation ): if "\n" in var_type: var_type = Stripped( @@ -3290,9 +3190,7 @@ def _generate_from_sequence( # region Case blocks for respective properties case_blocks = [] # type: List[Stripped] - prop_enum_name = cpp_naming.enum_name( - Identifier(f"Of_{cls.name}") - ) + prop_enum_name = cpp_naming.enum_name(Identifier(f"Of_{cls.name}")) for prop in cls.properties: code, needs_scope = _generate_deserialize_property(prop=prop) @@ -3339,9 +3237,7 @@ def _generate_from_sequence( # region While loop case_blocks_joined = "\n".join(case_blocks) - map_name = cpp_naming.constant_name( - Identifier(f"map_of_{cls.name}") - ) + map_name = cpp_naming.constant_name(Identifier(f"map_of_{cls.name}")) blocks.append( Stripped( @@ -3597,8 +3493,9 @@ def _generate_from_sequence( body = "\n\n".join(blocks) - return Stripped( - f"""\ + return ( + Stripped( + f"""\ template < {I}typename T, {I}typename std::enable_if< @@ -3613,13 +3510,13 @@ def _generate_from_sequence( ) {{ {I}{indent_but_first_line(body, I)} }}""" - ), None + ), + None, + ) def _generate_deserialize_from( - function_name: Identifier, - from_element_name: Identifier, - interface_name: Identifier + function_name: Identifier, from_element_name: Identifier, interface_name: Identifier ) -> Stripped: """ Generate the impl. of a public de-serialization for an interface. @@ -4470,8 +4367,7 @@ class SelfClosingWriter {{ def _generate_serialize_primitive_value( - primitive_type: intermediate.PrimitiveType, - var_name: Identifier + primitive_type: intermediate.PrimitiveType, var_name: Identifier ) -> Stripped: """Generate the snippet to serialize the primitive value at ``var_name``.""" serialize_function = _PRIMITIVE_TYPE_TO_SERIALIZE[primitive_type] @@ -4487,8 +4383,7 @@ def _generate_serialize_primitive_value( def _generate_serialize_instance( - cls: intermediate.ClassUnion, - var_name: Identifier + cls: intermediate.ClassUnion, var_name: Identifier ) -> Stripped: """Generate the code to serialize an instance at ``var_name``.""" serialize_function: Identifier @@ -4511,16 +4406,14 @@ def _generate_serialize_instance( def _generate_serialize_list( - item_type_annotation: intermediate.TypeAnnotationUnion, - var_name: Identifier + item_type_annotation: intermediate.TypeAnnotationUnion, var_name: Identifier ) -> Stripped: """Serialize the list at ``var_name``.""" - assert ( - isinstance(item_type_annotation, intermediate.OurTypeAnnotation) - and isinstance( + assert isinstance( + item_type_annotation, intermediate.OurTypeAnnotation + ) and isinstance( item_type_annotation.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) - ) + (intermediate.AbstractClass, intermediate.ConcreteClass), ), ( f"NOTE (mristin, 2023-12-20): We expect only lists of classes " f"at the moment, but you specified a list of {item_type_annotation}. " @@ -4534,8 +4427,7 @@ def _generate_serialize_list( ) item_type = cpp_common.generate_type_with_const_ref_if_applicable( - type_annotation=item_type_annotation, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=item_type_annotation, types_namespace=cpp_common.TYPES_NAMESPACE ) return Stripped( @@ -4573,8 +4465,7 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: type_anno = intermediate.beneath_optional(prop.type_annotation) var_type = cpp_common.generate_type_with_const_ref_if_applicable( - type_annotation=type_anno, - types_namespace=cpp_common.TYPES_NAMESPACE + type_annotation=type_anno, types_namespace=cpp_common.TYPES_NAMESPACE ) if isinstance(prop.type_annotation, intermediate.OptionalTypeAnnotation): @@ -4615,8 +4506,7 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: type_anno = intermediate.beneath_optional(prop.type_annotation) if isinstance(type_anno, intermediate.PrimitiveTypeAnnotation): code = _generate_serialize_primitive_value( - primitive_type=type_anno.a_type, - var_name=var_name + primitive_type=type_anno.a_type, var_name=var_name ) elif isinstance(type_anno, intermediate.OurTypeAnnotation): if isinstance(type_anno.our_type, intermediate.Enumeration): @@ -4634,16 +4524,13 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: elif isinstance(type_anno.our_type, intermediate.ConstrainedPrimitive): code = _generate_serialize_primitive_value( - primitive_type=type_anno.our_type.constrainee, - var_name=var_name + primitive_type=type_anno.our_type.constrainee, var_name=var_name ) elif isinstance( - type_anno.our_type, - (intermediate.AbstractClass, intermediate.ConcreteClass) + type_anno.our_type, (intermediate.AbstractClass, intermediate.ConcreteClass) ): code = _generate_serialize_instance( - cls=type_anno.our_type, - var_name=var_name + cls=type_anno.our_type, var_name=var_name ) else: assert_never(type_anno.our_type) @@ -4651,8 +4538,7 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: elif isinstance(type_anno, intermediate.ListTypeAnnotation): code = _generate_serialize_list( - item_type_annotation=type_anno.items, - var_name=var_name + item_type_annotation=type_anno.items, var_name=var_name ) else: @@ -4714,7 +4600,7 @@ def _generate_serialize_property(prop: intermediate.Property) -> Stripped: def _generate_serialize_cls_as_sequence_definition( - cls: intermediate.ConcreteClass + cls: intermediate.ConcreteClass, ) -> Stripped: """ Generate the impl. to serialize an instance as a sequence of XML elements. @@ -4746,8 +4632,8 @@ def _generate_serialize_cls_as_sequence_definition( def _generate_serialize_cls_as_sequence_implementation( - cls: intermediate.ConcreteClass, - spec_impls: specific_implementations.SpecificImplementations, + cls: intermediate.ConcreteClass, + spec_impls: specific_implementations.SpecificImplementations, ) -> Tuple[Optional[Stripped], Optional[Error]]: """ Generate the impl. to serialize an instance as a sequence of XML elements. @@ -4770,9 +4656,7 @@ def _generate_serialize_cls_as_sequence_implementation( blocks = [] # type: List[Stripped] if len(cls.properties) > 0: - blocks.append( - Stripped("common::optional error;") - ) + blocks.append(Stripped("common::optional error;")) for prop in cls.properties: blocks.append(_generate_serialize_property(prop=prop)) @@ -4797,8 +4681,9 @@ def _generate_serialize_cls_as_sequence_implementation( body = Stripped("\n\n".join(blocks)) - return Stripped( - f"""\ + return ( + Stripped( + f"""\ /** * \\brief Serialize \\p that instance as a sequence of XML elements. * @@ -4814,11 +4699,13 @@ def _generate_serialize_cls_as_sequence_implementation( ) {{ {I}{indent_but_first_line(body, I)} }}""" - ), None + ), + None, + ) def _generate_serialize_cls_as_element_definition( - cls: intermediate.ConcreteClass + cls: intermediate.ClassUnion, ) -> Stripped: """Generate the def. to serialize an instance to an XML element.""" xml_class = naming.xml_class_name(cls.name) @@ -4833,7 +4720,7 @@ def _generate_serialize_cls_as_element_definition( if len(cls.concrete_descendants) > 0: description_comment = Stripped( - f"""\ + """\ /** * \\brief Serialize \\p that instance by dispatching to the appropriate concrete * serialization function. @@ -4866,7 +4753,7 @@ def _generate_serialize_cls_as_element_definition( def _generate_concrete_serialize_cls_as_element( - cls: intermediate.ConcreteClass + cls: intermediate.ConcreteClass, ) -> Stripped: """ Generate the impl. to serialize an instance to an XML element. @@ -4932,8 +4819,9 @@ def _generate_concrete_serialize_cls_as_element( Identifier(f"serialize_{cls.name}_as_element") ) - description_comment_prefix = Stripped( - f"""\ + description_comment_prefix = ( + Stripped( + f"""\ /** * Serialize \\p that instance to an XML element * `<{xml_class}>`. @@ -4945,7 +4833,9 @@ def _generate_concrete_serialize_cls_as_element( * \\param writer to write to * \\return an error, if any */""" - ) + "\n" + ) + + "\n" + ) interface_name = cpp_naming.interface_name(cls.name) @@ -4962,7 +4852,7 @@ def _generate_concrete_serialize_cls_as_element( @require(lambda cls: len(cls.concrete_descendants) > 0) def _generate_dispatching_serialize_cls_as_element( - cls: intermediate.ClassUnion + cls: intermediate.ClassUnion, ) -> Stripped: """Generate the impl. for a dispatching serialization for an instance.""" case_blocks = [] # type: List[Stripped] @@ -5049,7 +4939,7 @@ def _generate_dispatching_serialize_cls_as_element( def _generate_serialize_implementation( - symbol_table: intermediate.SymbolTable + symbol_table: intermediate.SymbolTable, ) -> Stripped: """Generate the impl. of the public serialize function.""" case_blocks = [] # type: List[Stripped] @@ -5072,13 +4962,9 @@ def _generate_serialize_implementation( )""" ) - start_element_wo_namespace_literal = cpp_common.string_literal( - f'<{xml_name}>' - ) + start_element_wo_namespace_literal = cpp_common.string_literal(f"<{xml_name}>") - stop_element = cpp_common.string_literal( - f'' - ) + stop_element = cpp_common.string_literal(f"") interface_name = cpp_naming.interface_name(cls.name) @@ -5189,9 +5075,9 @@ def _generate_serialize_implementation( ) # fmt: on def generate_implementation( - symbol_table: intermediate.SymbolTable, - spec_impls: specific_implementations.SpecificImplementations, - library_namespace: Stripped, + symbol_table: intermediate.SymbolTable, + spec_impls: specific_implementations.SpecificImplementations, + library_namespace: Stripped, ) -> Tuple[Optional[str], Optional[List[Error]]]: """Generate the C++ implementation of the de/serialization functions.""" namespace = Stripped(f"{library_namespace}::{cpp_common.XMLIZATION_NAMESPACE}") @@ -5263,11 +5149,9 @@ def generate_implementation( *_generate_skip_whitespace(), _generate_class_from_element( interface_name=Identifier("IClass"), - function_name=cpp_naming.function_name( - Identifier("class_from_element") - ), - concrete_classes=symbol_table.concrete_classes - ) + function_name=cpp_naming.function_name(Identifier("class_from_element")), + concrete_classes=symbol_table.concrete_classes, + ), ] for cls in symbol_table.classes: @@ -5283,25 +5167,18 @@ def generate_implementation( function_name=cpp_naming.function_name( Identifier(f"{cls.name}_from_element") ), - concrete_classes=concrete_classes + concrete_classes=concrete_classes, ) ) blocks.extend(_generate_functions_to_deserialize_primitives()) - blocks.extend( - _generate_property_enums_from_strings( - symbol_table=symbol_table - ) - ) + blocks.extend(_generate_property_enums_from_strings(symbol_table=symbol_table)) errors = [] # type: List[Error] for concrete_cls in symbol_table.concrete_classes: - block, error = _generate_from_sequence( - cls=concrete_cls, - spec_impls=spec_impls - ) + block, error = _generate_from_sequence(cls=concrete_cls, spec_impls=spec_impls) if error is not None: errors.append(error) else: @@ -5314,20 +5191,18 @@ def generate_implementation( from_element_name=cpp_naming.function_name( Identifier("class_from_element") ), - interface_name=Identifier("IClass") + interface_name=Identifier("IClass"), ) ) for cls in symbol_table.classes: blocks.append( _generate_deserialize_from( - function_name=cpp_naming.function_name( - Identifier(f"{cls.name}_from") - ), + function_name=cpp_naming.function_name(Identifier(f"{cls.name}_from")), from_element_name=cpp_naming.function_name( Identifier(f"{cls.name}_from_element") ), - interface_name=cpp_naming.interface_name(cls.name) + interface_name=cpp_naming.interface_name(cls.name), ) ) @@ -5397,19 +5272,14 @@ def generate_implementation( for cls in symbol_table.classes: if isinstance(cls, intermediate.ConcreteClass): - blocks.append( - _generate_serialize_cls_as_sequence_definition(cls=cls) - ) + blocks.append(_generate_serialize_cls_as_sequence_definition(cls=cls)) - blocks.append( - _generate_serialize_cls_as_element_definition(cls=cls) - ) + blocks.append(_generate_serialize_cls_as_element_definition(cls=cls)) for cls in symbol_table.classes: if isinstance(cls, intermediate.ConcreteClass): block, error = _generate_serialize_cls_as_sequence_implementation( - cls=cls, - spec_impls=spec_impls + cls=cls, spec_impls=spec_impls ) if error is not None: errors.append(error) @@ -5417,23 +5287,15 @@ def generate_implementation( assert block is not None blocks.append(block) - blocks.append( - _generate_concrete_serialize_cls_as_element(cls=cls) - ) + blocks.append(_generate_concrete_serialize_cls_as_element(cls=cls)) if len(cls.concrete_descendants) > 0: - blocks.append( - _generate_dispatching_serialize_cls_as_element(cls=cls) - ) + blocks.append(_generate_dispatching_serialize_cls_as_element(cls=cls)) if len(errors) > 0: return None, errors - blocks.append( - _generate_serialize_implementation( - symbol_table=symbol_table - ) - ) + blocks.append(_generate_serialize_implementation(symbol_table=symbol_table)) blocks.extend( [ diff --git a/aas_core_codegen/cpp/yielding.py b/aas_core_codegen/cpp/yielding.py index f8e491544..eb544f420 100644 --- a/aas_core_codegen/cpp/yielding.py +++ b/aas_core_codegen/cpp/yielding.py @@ -10,11 +10,7 @@ assert_never, ) from aas_core_codegen.yielding import flow as yielding_flow, linear as yielding_linear -from aas_core_codegen.cpp.common import ( - INDENT as I, - INDENT2 as II, - INDENT3 as III -) +from aas_core_codegen.cpp.common import INDENT as I, INDENT2 as II, INDENT3 as III from aas_core_codegen.cpp import common as cpp_common @@ -36,7 +32,7 @@ def _generate_subroutine_body( elif statement.on_true is not None and statement.on_false is None: condition = statement.condition elif statement.on_true is None and statement.on_false is not None: - condition = f"!({statement.condition})" + condition = Stripped(f"!({statement.condition})") else: raise AssertionError("Unexpected if-statement without target") @@ -91,6 +87,8 @@ def _generate_subroutine_body( elif isinstance(statement, yielding_linear.Yield): if next_subroutine is None: + assert subroutine[0].label is not None + blocks.append( Stripped( f"""\ @@ -121,6 +119,8 @@ def _generate_subroutine_body( and next_subroutine is None and isinstance(statement, yielding_linear.Command) ): + assert subroutine[0].label is not None + blocks.append( Stripped( f"""\ diff --git a/aas_core_codegen/naming.py b/aas_core_codegen/naming.py index 054ff8362..4d642ed01 100644 --- a/aas_core_codegen/naming.py +++ b/aas_core_codegen/naming.py @@ -6,15 +6,6 @@ from aas_core_codegen.common import Identifier -def lower_pascal_case(identifier: Identifier) -> Identifier: - """Convert the identifier to a ``pascal_case``.""" - parts = identifier.split("_") - - assert len(parts) > 0, "Expected at least one part in the identifier" - - return Identifier("_".join(part.lower() for part in parts)) - - def lower_pascal_case(identifier: Identifier) -> Identifier: """Convert the identifier to a ``pascal_case``.""" parts = identifier.split("_") diff --git a/dev_scripts/copy_to_aas_core3_cpp.py b/dev_scripts/copy_to_aas_core3_cpp.py index 2fe7ca53b..9c5acbf91 100644 --- a/dev_scripts/copy_to_aas_core3_cpp.py +++ b/dev_scripts/copy_to_aas_core3_cpp.py @@ -23,7 +23,7 @@ def main() -> int: parser.add_argument( "--aas_core3_cpp_path", help="Path to the aas-core3.0-cpp repository", - default=str(this_path.parent.parent.parent / "aas-core3.0-cpp") + default=str(this_path.parent.parent.parent / "aas-core3.0-cpp"), ) args = parser.parse_args() @@ -32,21 +32,24 @@ def main() -> int: if not aas_core3_cpp_path.exists(): print( f"--aas_core3_cpp_path does not exist: {aas_core3_cpp_path}", - file=sys.stderr + file=sys.stderr, ) return 1 if not aas_core3_cpp_path.is_dir(): print( f"--aas_core3_cpp_path is not a directory: {aas_core3_cpp_path}", - file=sys.stderr + file=sys.stderr, ) return 1 expected_output_dir = ( - this_path.parent.parent - / "test_data" / "cpp" / "test_main" / "aas_core_meta.v3" - / "expected_output" + this_path.parent.parent + / "test_data" + / "cpp" + / "test_main" + / "aas_core_meta.v3" + / "expected_output" ) assert aas_core3_cpp_path.exists() @@ -68,9 +71,9 @@ def main() -> int: f" to {target_src_dir} and {target_include_dir}..." ) for pth in paths: - if pth.suffix == '.cpp': - dst = target_src_dir/pth.name - elif pth.suffix == '.hpp': + if pth.suffix == ".cpp": + dst = target_src_dir / pth.name + elif pth.suffix == ".hpp": dst = target_include_dir / pth.name else: raise AssertionError(f"Unhandled suffix: {pth.suffix} from: {pth}") @@ -79,8 +82,8 @@ def main() -> int: # We compare the contents to avoid re-compilations by CMake. should_copy = True if dst.exists(): - src_text = pth.read_text(encoding='utf-8') - dst_text = dst.read_text(encoding='utf-8') + src_text = pth.read_text(encoding="utf-8") + dst_text = dst.read_text(encoding="utf-8") should_copy = src_text != dst_text diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.cpp index 3049182c4..3a5542860 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.cpp @@ -13955,7 +13955,7 @@ std::string WstringToUtf8(const std::wstring& text) { text_size_int, &(result[0]), size_needed, - nullptr, + nullptr, nullptr ); diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.hpp index 66ac7e7e7..1fa0aba2a 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/common.hpp @@ -52,11 +52,11 @@ namespace aas_3_0 { */ namespace common { -// Please keep in sync with the preprocessing directives above in the include block. +// Please keep in sync with the preprocessing directives above in the include block. #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) // Standard library provides std::optional in C++17 and above. using std::optional; -using std::nullopt; +using std::nullopt; using std::make_optional; #else using tl::optional; @@ -618,8 +618,8 @@ std::unique_ptr make_unique( /** * Concatenate 2 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation * \return a concatenation of the 2 parts */ std::string Concat( @@ -630,9 +630,9 @@ std::string Concat( /** * Concatenate 3 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation * \return a concatenation of the 3 parts */ std::string Concat( @@ -644,10 +644,10 @@ std::string Concat( /** * Concatenate 4 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation * \return a concatenation of the 4 parts */ std::string Concat( @@ -660,11 +660,11 @@ std::string Concat( /** * Concatenate 5 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation * \return a concatenation of the 5 parts */ std::string Concat( @@ -678,12 +678,12 @@ std::string Concat( /** * Concatenate 6 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation * \return a concatenation of the 6 parts */ std::string Concat( @@ -698,13 +698,13 @@ std::string Concat( /** * Concatenate 7 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation * \return a concatenation of the 7 parts */ std::string Concat( @@ -720,14 +720,14 @@ std::string Concat( /** * Concatenate 8 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation * \return a concatenation of the 8 parts */ std::string Concat( @@ -744,15 +744,15 @@ std::string Concat( /** * Concatenate 9 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation * \return a concatenation of the 9 parts */ std::string Concat( @@ -770,16 +770,16 @@ std::string Concat( /** * Concatenate 10 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation * \return a concatenation of the 10 parts */ std::string Concat( @@ -798,17 +798,17 @@ std::string Concat( /** * Concatenate 11 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation * \return a concatenation of the 11 parts */ std::string Concat( @@ -828,18 +828,18 @@ std::string Concat( /** * Concatenate 12 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation * \return a concatenation of the 12 parts */ std::string Concat( @@ -860,19 +860,19 @@ std::string Concat( /** * Concatenate 13 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation * \return a concatenation of the 13 parts */ std::string Concat( @@ -894,20 +894,20 @@ std::string Concat( /** * Concatenate 14 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation * \return a concatenation of the 14 parts */ std::string Concat( @@ -930,21 +930,21 @@ std::string Concat( /** * Concatenate 15 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation * \return a concatenation of the 15 parts */ std::string Concat( @@ -968,22 +968,22 @@ std::string Concat( /** * Concatenate 16 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation * \return a concatenation of the 16 parts */ std::string Concat( @@ -1008,23 +1008,23 @@ std::string Concat( /** * Concatenate 17 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation * \return a concatenation of the 17 parts */ std::string Concat( @@ -1050,24 +1050,24 @@ std::string Concat( /** * Concatenate 18 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation * \return a concatenation of the 18 parts */ std::string Concat( @@ -1094,25 +1094,25 @@ std::string Concat( /** * Concatenate 19 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation * \return a concatenation of the 19 parts */ std::string Concat( @@ -1140,26 +1140,26 @@ std::string Concat( /** * Concatenate 20 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation * \return a concatenation of the 20 parts */ std::string Concat( @@ -1188,27 +1188,27 @@ std::string Concat( /** * Concatenate 21 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation * \return a concatenation of the 21 parts */ std::string Concat( @@ -1238,28 +1238,28 @@ std::string Concat( /** * Concatenate 22 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation * \return a concatenation of the 22 parts */ std::string Concat( @@ -1290,29 +1290,29 @@ std::string Concat( /** * Concatenate 23 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation * \return a concatenation of the 23 parts */ std::string Concat( @@ -1344,30 +1344,30 @@ std::string Concat( /** * Concatenate 24 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation * \return a concatenation of the 24 parts */ std::string Concat( @@ -1400,31 +1400,31 @@ std::string Concat( /** * Concatenate 25 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation * \return a concatenation of the 25 parts */ std::string Concat( @@ -1458,32 +1458,32 @@ std::string Concat( /** * Concatenate 26 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation * \return a concatenation of the 26 parts */ std::string Concat( @@ -1518,33 +1518,33 @@ std::string Concat( /** * Concatenate 27 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation * \return a concatenation of the 27 parts */ std::string Concat( @@ -1580,34 +1580,34 @@ std::string Concat( /** * Concatenate 28 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation * \return a concatenation of the 28 parts */ std::string Concat( @@ -1644,35 +1644,35 @@ std::string Concat( /** * Concatenate 29 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation * \return a concatenation of the 29 parts */ std::string Concat( @@ -1710,36 +1710,36 @@ std::string Concat( /** * Concatenate 30 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation * \return a concatenation of the 30 parts */ std::string Concat( @@ -1778,37 +1778,37 @@ std::string Concat( /** * Concatenate 31 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation * \return a concatenation of the 31 parts */ std::string Concat( @@ -1848,38 +1848,38 @@ std::string Concat( /** * Concatenate 32 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation * \return a concatenation of the 32 parts */ std::string Concat( @@ -1920,39 +1920,39 @@ std::string Concat( /** * Concatenate 33 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation * \return a concatenation of the 33 parts */ std::string Concat( @@ -1994,40 +1994,40 @@ std::string Concat( /** * Concatenate 34 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation * \return a concatenation of the 34 parts */ std::string Concat( @@ -2070,41 +2070,41 @@ std::string Concat( /** * Concatenate 35 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation * \return a concatenation of the 35 parts */ std::string Concat( @@ -2148,42 +2148,42 @@ std::string Concat( /** * Concatenate 36 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation * \return a concatenation of the 36 parts */ std::string Concat( @@ -2228,43 +2228,43 @@ std::string Concat( /** * Concatenate 37 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation * \return a concatenation of the 37 parts */ std::string Concat( @@ -2310,44 +2310,44 @@ std::string Concat( /** * Concatenate 38 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation * \return a concatenation of the 38 parts */ std::string Concat( @@ -2394,45 +2394,45 @@ std::string Concat( /** * Concatenate 39 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation * \return a concatenation of the 39 parts */ std::string Concat( @@ -2480,46 +2480,46 @@ std::string Concat( /** * Concatenate 40 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation * \return a concatenation of the 40 parts */ std::string Concat( @@ -2568,47 +2568,47 @@ std::string Concat( /** * Concatenate 41 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation * \return a concatenation of the 41 parts */ std::string Concat( @@ -2658,48 +2658,48 @@ std::string Concat( /** * Concatenate 42 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation * \return a concatenation of the 42 parts */ std::string Concat( @@ -2750,49 +2750,49 @@ std::string Concat( /** * Concatenate 43 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation * \return a concatenation of the 43 parts */ std::string Concat( @@ -2844,50 +2844,50 @@ std::string Concat( /** * Concatenate 44 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation * \return a concatenation of the 44 parts */ std::string Concat( @@ -2940,51 +2940,51 @@ std::string Concat( /** * Concatenate 45 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation * \return a concatenation of the 45 parts */ std::string Concat( @@ -3038,52 +3038,52 @@ std::string Concat( /** * Concatenate 46 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation * \return a concatenation of the 46 parts */ std::string Concat( @@ -3138,53 +3138,53 @@ std::string Concat( /** * Concatenate 47 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation * \return a concatenation of the 47 parts */ std::string Concat( @@ -3240,54 +3240,54 @@ std::string Concat( /** * Concatenate 48 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation * \return a concatenation of the 48 parts */ std::string Concat( @@ -3344,55 +3344,55 @@ std::string Concat( /** * Concatenate 49 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation * \return a concatenation of the 49 parts */ std::string Concat( @@ -3450,56 +3450,56 @@ std::string Concat( /** * Concatenate 50 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation * \return a concatenation of the 50 parts */ std::string Concat( @@ -3558,57 +3558,57 @@ std::string Concat( /** * Concatenate 51 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation * \return a concatenation of the 51 parts */ std::string Concat( @@ -3668,58 +3668,58 @@ std::string Concat( /** * Concatenate 52 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation * \return a concatenation of the 52 parts */ std::string Concat( @@ -3780,59 +3780,59 @@ std::string Concat( /** * Concatenate 53 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation * \return a concatenation of the 53 parts */ std::string Concat( @@ -3894,60 +3894,60 @@ std::string Concat( /** * Concatenate 54 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation * \return a concatenation of the 54 parts */ std::string Concat( @@ -4010,61 +4010,61 @@ std::string Concat( /** * Concatenate 55 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation * \return a concatenation of the 55 parts */ std::string Concat( @@ -4128,62 +4128,62 @@ std::string Concat( /** * Concatenate 56 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation * \return a concatenation of the 56 parts */ std::string Concat( @@ -4248,63 +4248,63 @@ std::string Concat( /** * Concatenate 57 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation * \return a concatenation of the 57 parts */ std::string Concat( @@ -4370,64 +4370,64 @@ std::string Concat( /** * Concatenate 58 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation * \return a concatenation of the 58 parts */ std::string Concat( @@ -4494,65 +4494,65 @@ std::string Concat( /** * Concatenate 59 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation * \return a concatenation of the 59 parts */ std::string Concat( @@ -4620,66 +4620,66 @@ std::string Concat( /** * Concatenate 60 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation * \return a concatenation of the 60 parts */ std::string Concat( @@ -4748,67 +4748,67 @@ std::string Concat( /** * Concatenate 61 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation * \return a concatenation of the 61 parts */ std::string Concat( @@ -4878,68 +4878,68 @@ std::string Concat( /** * Concatenate 62 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation - * \param part61 61st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation + * \param part61 62nd part of the concatenation * \return a concatenation of the 62 parts */ std::string Concat( @@ -5010,69 +5010,69 @@ std::string Concat( /** * Concatenate 63 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation - * \param part61 61st part of the concatenation - * \param part62 62nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation + * \param part61 62nd part of the concatenation + * \param part62 63rd part of the concatenation * \return a concatenation of the 63 parts */ std::string Concat( @@ -5144,70 +5144,70 @@ std::string Concat( /** * Concatenate 64 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation - * \param part61 61st part of the concatenation - * \param part62 62nd part of the concatenation - * \param part63 63rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation + * \param part61 62nd part of the concatenation + * \param part62 63rd part of the concatenation + * \param part63 64th part of the concatenation * \return a concatenation of the 64 parts */ std::string Concat( @@ -5280,8 +5280,8 @@ std::string Concat( /** * Concatenate 2 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation * \return a concatenation of the 2 parts */ std::wstring Concat( @@ -5292,9 +5292,9 @@ std::wstring Concat( /** * Concatenate 3 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation * \return a concatenation of the 3 parts */ std::wstring Concat( @@ -5306,10 +5306,10 @@ std::wstring Concat( /** * Concatenate 4 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation * \return a concatenation of the 4 parts */ std::wstring Concat( @@ -5322,11 +5322,11 @@ std::wstring Concat( /** * Concatenate 5 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation * \return a concatenation of the 5 parts */ std::wstring Concat( @@ -5340,12 +5340,12 @@ std::wstring Concat( /** * Concatenate 6 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation * \return a concatenation of the 6 parts */ std::wstring Concat( @@ -5360,13 +5360,13 @@ std::wstring Concat( /** * Concatenate 7 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation * \return a concatenation of the 7 parts */ std::wstring Concat( @@ -5382,14 +5382,14 @@ std::wstring Concat( /** * Concatenate 8 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation * \return a concatenation of the 8 parts */ std::wstring Concat( @@ -5406,15 +5406,15 @@ std::wstring Concat( /** * Concatenate 9 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation * \return a concatenation of the 9 parts */ std::wstring Concat( @@ -5432,16 +5432,16 @@ std::wstring Concat( /** * Concatenate 10 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation * \return a concatenation of the 10 parts */ std::wstring Concat( @@ -5460,17 +5460,17 @@ std::wstring Concat( /** * Concatenate 11 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation * \return a concatenation of the 11 parts */ std::wstring Concat( @@ -5490,18 +5490,18 @@ std::wstring Concat( /** * Concatenate 12 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation * \return a concatenation of the 12 parts */ std::wstring Concat( @@ -5522,19 +5522,19 @@ std::wstring Concat( /** * Concatenate 13 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation * \return a concatenation of the 13 parts */ std::wstring Concat( @@ -5556,20 +5556,20 @@ std::wstring Concat( /** * Concatenate 14 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation * \return a concatenation of the 14 parts */ std::wstring Concat( @@ -5592,21 +5592,21 @@ std::wstring Concat( /** * Concatenate 15 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation * \return a concatenation of the 15 parts */ std::wstring Concat( @@ -5630,22 +5630,22 @@ std::wstring Concat( /** * Concatenate 16 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation * \return a concatenation of the 16 parts */ std::wstring Concat( @@ -5670,23 +5670,23 @@ std::wstring Concat( /** * Concatenate 17 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation * \return a concatenation of the 17 parts */ std::wstring Concat( @@ -5712,24 +5712,24 @@ std::wstring Concat( /** * Concatenate 18 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation * \return a concatenation of the 18 parts */ std::wstring Concat( @@ -5756,25 +5756,25 @@ std::wstring Concat( /** * Concatenate 19 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation * \return a concatenation of the 19 parts */ std::wstring Concat( @@ -5802,26 +5802,26 @@ std::wstring Concat( /** * Concatenate 20 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation * \return a concatenation of the 20 parts */ std::wstring Concat( @@ -5850,27 +5850,27 @@ std::wstring Concat( /** * Concatenate 21 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation * \return a concatenation of the 21 parts */ std::wstring Concat( @@ -5900,28 +5900,28 @@ std::wstring Concat( /** * Concatenate 22 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation * \return a concatenation of the 22 parts */ std::wstring Concat( @@ -5952,29 +5952,29 @@ std::wstring Concat( /** * Concatenate 23 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation * \return a concatenation of the 23 parts */ std::wstring Concat( @@ -6006,30 +6006,30 @@ std::wstring Concat( /** * Concatenate 24 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation * \return a concatenation of the 24 parts */ std::wstring Concat( @@ -6062,31 +6062,31 @@ std::wstring Concat( /** * Concatenate 25 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation * \return a concatenation of the 25 parts */ std::wstring Concat( @@ -6120,32 +6120,32 @@ std::wstring Concat( /** * Concatenate 26 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation * \return a concatenation of the 26 parts */ std::wstring Concat( @@ -6180,33 +6180,33 @@ std::wstring Concat( /** * Concatenate 27 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation * \return a concatenation of the 27 parts */ std::wstring Concat( @@ -6242,34 +6242,34 @@ std::wstring Concat( /** * Concatenate 28 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation * \return a concatenation of the 28 parts */ std::wstring Concat( @@ -6306,35 +6306,35 @@ std::wstring Concat( /** * Concatenate 29 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation * \return a concatenation of the 29 parts */ std::wstring Concat( @@ -6372,36 +6372,36 @@ std::wstring Concat( /** * Concatenate 30 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation * \return a concatenation of the 30 parts */ std::wstring Concat( @@ -6440,37 +6440,37 @@ std::wstring Concat( /** * Concatenate 31 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation * \return a concatenation of the 31 parts */ std::wstring Concat( @@ -6510,38 +6510,38 @@ std::wstring Concat( /** * Concatenate 32 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation * \return a concatenation of the 32 parts */ std::wstring Concat( @@ -6582,39 +6582,39 @@ std::wstring Concat( /** * Concatenate 33 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation * \return a concatenation of the 33 parts */ std::wstring Concat( @@ -6656,40 +6656,40 @@ std::wstring Concat( /** * Concatenate 34 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation * \return a concatenation of the 34 parts */ std::wstring Concat( @@ -6732,41 +6732,41 @@ std::wstring Concat( /** * Concatenate 35 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation * \return a concatenation of the 35 parts */ std::wstring Concat( @@ -6810,42 +6810,42 @@ std::wstring Concat( /** * Concatenate 36 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation * \return a concatenation of the 36 parts */ std::wstring Concat( @@ -6890,43 +6890,43 @@ std::wstring Concat( /** * Concatenate 37 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation * \return a concatenation of the 37 parts */ std::wstring Concat( @@ -6972,44 +6972,44 @@ std::wstring Concat( /** * Concatenate 38 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation * \return a concatenation of the 38 parts */ std::wstring Concat( @@ -7056,45 +7056,45 @@ std::wstring Concat( /** * Concatenate 39 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation * \return a concatenation of the 39 parts */ std::wstring Concat( @@ -7142,46 +7142,46 @@ std::wstring Concat( /** * Concatenate 40 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation * \return a concatenation of the 40 parts */ std::wstring Concat( @@ -7230,47 +7230,47 @@ std::wstring Concat( /** * Concatenate 41 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation * \return a concatenation of the 41 parts */ std::wstring Concat( @@ -7320,48 +7320,48 @@ std::wstring Concat( /** * Concatenate 42 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation * \return a concatenation of the 42 parts */ std::wstring Concat( @@ -7412,49 +7412,49 @@ std::wstring Concat( /** * Concatenate 43 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation * \return a concatenation of the 43 parts */ std::wstring Concat( @@ -7506,50 +7506,50 @@ std::wstring Concat( /** * Concatenate 44 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation * \return a concatenation of the 44 parts */ std::wstring Concat( @@ -7602,51 +7602,51 @@ std::wstring Concat( /** * Concatenate 45 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation * \return a concatenation of the 45 parts */ std::wstring Concat( @@ -7700,52 +7700,52 @@ std::wstring Concat( /** * Concatenate 46 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation * \return a concatenation of the 46 parts */ std::wstring Concat( @@ -7800,53 +7800,53 @@ std::wstring Concat( /** * Concatenate 47 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation * \return a concatenation of the 47 parts */ std::wstring Concat( @@ -7902,54 +7902,54 @@ std::wstring Concat( /** * Concatenate 48 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation * \return a concatenation of the 48 parts */ std::wstring Concat( @@ -8006,55 +8006,55 @@ std::wstring Concat( /** * Concatenate 49 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation * \return a concatenation of the 49 parts */ std::wstring Concat( @@ -8112,56 +8112,56 @@ std::wstring Concat( /** * Concatenate 50 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation * \return a concatenation of the 50 parts */ std::wstring Concat( @@ -8220,57 +8220,57 @@ std::wstring Concat( /** * Concatenate 51 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation * \return a concatenation of the 51 parts */ std::wstring Concat( @@ -8330,58 +8330,58 @@ std::wstring Concat( /** * Concatenate 52 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation * \return a concatenation of the 52 parts */ std::wstring Concat( @@ -8442,59 +8442,59 @@ std::wstring Concat( /** * Concatenate 53 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation * \return a concatenation of the 53 parts */ std::wstring Concat( @@ -8556,60 +8556,60 @@ std::wstring Concat( /** * Concatenate 54 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation * \return a concatenation of the 54 parts */ std::wstring Concat( @@ -8672,61 +8672,61 @@ std::wstring Concat( /** * Concatenate 55 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation * \return a concatenation of the 55 parts */ std::wstring Concat( @@ -8790,62 +8790,62 @@ std::wstring Concat( /** * Concatenate 56 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation * \return a concatenation of the 56 parts */ std::wstring Concat( @@ -8910,63 +8910,63 @@ std::wstring Concat( /** * Concatenate 57 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation * \return a concatenation of the 57 parts */ std::wstring Concat( @@ -9032,64 +9032,64 @@ std::wstring Concat( /** * Concatenate 58 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation * \return a concatenation of the 58 parts */ std::wstring Concat( @@ -9156,65 +9156,65 @@ std::wstring Concat( /** * Concatenate 59 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation * \return a concatenation of the 59 parts */ std::wstring Concat( @@ -9282,66 +9282,66 @@ std::wstring Concat( /** * Concatenate 60 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation * \return a concatenation of the 60 parts */ std::wstring Concat( @@ -9410,67 +9410,67 @@ std::wstring Concat( /** * Concatenate 61 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation * \return a concatenation of the 61 parts */ std::wstring Concat( @@ -9540,68 +9540,68 @@ std::wstring Concat( /** * Concatenate 62 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation - * \param part61 61st part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation + * \param part61 62nd part of the concatenation * \return a concatenation of the 62 parts */ std::wstring Concat( @@ -9672,69 +9672,69 @@ std::wstring Concat( /** * Concatenate 63 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation - * \param part61 61st part of the concatenation - * \param part62 62nd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation + * \param part61 62nd part of the concatenation + * \param part62 63rd part of the concatenation * \return a concatenation of the 63 parts */ std::wstring Concat( @@ -9806,70 +9806,70 @@ std::wstring Concat( /** * Concatenate 64 strings. * - * \param part0 0th part of the concatenation - * \param part1 1st part of the concatenation - * \param part2 2nd part of the concatenation - * \param part3 3rd part of the concatenation - * \param part4 4th part of the concatenation - * \param part5 5th part of the concatenation - * \param part6 6th part of the concatenation - * \param part7 7th part of the concatenation - * \param part8 8th part of the concatenation - * \param part9 9th part of the concatenation - * \param part10 10th part of the concatenation - * \param part11 11st part of the concatenation - * \param part12 12nd part of the concatenation - * \param part13 13rd part of the concatenation - * \param part14 14th part of the concatenation - * \param part15 15th part of the concatenation - * \param part16 16th part of the concatenation - * \param part17 17th part of the concatenation - * \param part18 18th part of the concatenation - * \param part19 19th part of the concatenation - * \param part20 20th part of the concatenation - * \param part21 21st part of the concatenation - * \param part22 22nd part of the concatenation - * \param part23 23rd part of the concatenation - * \param part24 24th part of the concatenation - * \param part25 25th part of the concatenation - * \param part26 26th part of the concatenation - * \param part27 27th part of the concatenation - * \param part28 28th part of the concatenation - * \param part29 29th part of the concatenation - * \param part30 30th part of the concatenation - * \param part31 31st part of the concatenation - * \param part32 32nd part of the concatenation - * \param part33 33rd part of the concatenation - * \param part34 34th part of the concatenation - * \param part35 35th part of the concatenation - * \param part36 36th part of the concatenation - * \param part37 37th part of the concatenation - * \param part38 38th part of the concatenation - * \param part39 39th part of the concatenation - * \param part40 40th part of the concatenation - * \param part41 41st part of the concatenation - * \param part42 42nd part of the concatenation - * \param part43 43rd part of the concatenation - * \param part44 44th part of the concatenation - * \param part45 45th part of the concatenation - * \param part46 46th part of the concatenation - * \param part47 47th part of the concatenation - * \param part48 48th part of the concatenation - * \param part49 49th part of the concatenation - * \param part50 50th part of the concatenation - * \param part51 51st part of the concatenation - * \param part52 52nd part of the concatenation - * \param part53 53rd part of the concatenation - * \param part54 54th part of the concatenation - * \param part55 55th part of the concatenation - * \param part56 56th part of the concatenation - * \param part57 57th part of the concatenation - * \param part58 58th part of the concatenation - * \param part59 59th part of the concatenation - * \param part60 60th part of the concatenation - * \param part61 61st part of the concatenation - * \param part62 62nd part of the concatenation - * \param part63 63rd part of the concatenation + * \param part0 1st part of the concatenation + * \param part1 2nd part of the concatenation + * \param part2 3rd part of the concatenation + * \param part3 4th part of the concatenation + * \param part4 5th part of the concatenation + * \param part5 6th part of the concatenation + * \param part6 7th part of the concatenation + * \param part7 8th part of the concatenation + * \param part8 9th part of the concatenation + * \param part9 10th part of the concatenation + * \param part10 11st part of the concatenation + * \param part11 12nd part of the concatenation + * \param part12 13rd part of the concatenation + * \param part13 14th part of the concatenation + * \param part14 15th part of the concatenation + * \param part15 16th part of the concatenation + * \param part16 17th part of the concatenation + * \param part17 18th part of the concatenation + * \param part18 19th part of the concatenation + * \param part19 20th part of the concatenation + * \param part20 21st part of the concatenation + * \param part21 22nd part of the concatenation + * \param part22 23rd part of the concatenation + * \param part23 24th part of the concatenation + * \param part24 25th part of the concatenation + * \param part25 26th part of the concatenation + * \param part26 27th part of the concatenation + * \param part27 28th part of the concatenation + * \param part28 29th part of the concatenation + * \param part29 30th part of the concatenation + * \param part30 31st part of the concatenation + * \param part31 32nd part of the concatenation + * \param part32 33rd part of the concatenation + * \param part33 34th part of the concatenation + * \param part34 35th part of the concatenation + * \param part35 36th part of the concatenation + * \param part36 37th part of the concatenation + * \param part37 38th part of the concatenation + * \param part38 39th part of the concatenation + * \param part39 40th part of the concatenation + * \param part40 41st part of the concatenation + * \param part41 42nd part of the concatenation + * \param part42 43rd part of the concatenation + * \param part43 44th part of the concatenation + * \param part44 45th part of the concatenation + * \param part45 46th part of the concatenation + * \param part46 47th part of the concatenation + * \param part47 48th part of the concatenation + * \param part48 49th part of the concatenation + * \param part49 50th part of the concatenation + * \param part50 51st part of the concatenation + * \param part51 52nd part of the concatenation + * \param part52 53rd part of the concatenation + * \param part53 54th part of the concatenation + * \param part54 55th part of the concatenation + * \param part55 56th part of the concatenation + * \param part56 57th part of the concatenation + * \param part57 58th part of the concatenation + * \param part58 59th part of the concatenation + * \param part59 60th part of the concatenation + * \param part60 61st part of the concatenation + * \param part61 62nd part of the concatenation + * \param part62 63rd part of the concatenation + * \param part63 64th part of the concatenation * \return a concatenation of the 64 parts */ std::wstring Concat( @@ -10011,7 +10011,7 @@ bool AllRange( * \param start of the range * \param end of the range * \return \parblock - * `true` if any number between \p start and + * `true` if any number between \p start and * \p end (excluded) satisfy the \p condition * \endparblock */ diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/enhancing.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/enhancing.hpp index 751a55102..2390a811e 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/enhancing.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/enhancing.hpp @@ -18,7 +18,7 @@ namespace aas_3_0 { /** * \defgroup enhancing Enhance instances of the model with your custom enhancements. - * @{ + * @{{ */ namespace enhancing { @@ -867,7 +867,7 @@ class EnhancedExtension } types::DataTypeDefXsd ValueTypeOrDefault() const override { - return instance_->ValueTypeOrDefault(); + return instance_->ValueTypeOrDefault(); } const std::shared_ptr& enhancement() const { @@ -1159,7 +1159,7 @@ class EnhancedQualifier } types::QualifierKind KindOrDefault() const override { - return instance_->KindOrDefault(); + return instance_->KindOrDefault(); } const std::shared_ptr& enhancement() const { @@ -2072,7 +2072,7 @@ class EnhancedSubmodel } types::ModellingKind KindOrDefault() const override { - return instance_->KindOrDefault(); + return instance_->KindOrDefault(); } const std::shared_ptr& enhancement() const { @@ -2678,7 +2678,7 @@ class EnhancedSubmodelElementList } bool OrderRelevantOrDefault() const override { - return instance_->OrderRelevantOrDefault(); + return instance_->OrderRelevantOrDefault(); } const std::shared_ptr& enhancement() const { @@ -3242,7 +3242,7 @@ class EnhancedProperty } std::wstring CategoryOrDefault() const override { - return instance_->CategoryOrDefault(); + return instance_->CategoryOrDefault(); } const std::shared_ptr& enhancement() const { @@ -3535,7 +3535,7 @@ class EnhancedMultiLanguageProperty } std::wstring CategoryOrDefault() const override { - return instance_->CategoryOrDefault(); + return instance_->CategoryOrDefault(); } const std::shared_ptr& enhancement() const { @@ -3824,7 +3824,7 @@ class EnhancedRange } std::wstring CategoryOrDefault() const override { - return instance_->CategoryOrDefault(); + return instance_->CategoryOrDefault(); } const std::shared_ptr& enhancement() const { @@ -4091,7 +4091,7 @@ class EnhancedReferenceElement } std::wstring CategoryOrDefault() const override { - return instance_->CategoryOrDefault(); + return instance_->CategoryOrDefault(); } const std::shared_ptr& enhancement() const { @@ -4372,7 +4372,7 @@ class EnhancedBlob } std::wstring CategoryOrDefault() const override { - return instance_->CategoryOrDefault(); + return instance_->CategoryOrDefault(); } const std::shared_ptr& enhancement() const { @@ -4647,7 +4647,7 @@ class EnhancedFile } std::wstring CategoryOrDefault() const override { - return instance_->CategoryOrDefault(); + return instance_->CategoryOrDefault(); } const std::shared_ptr& enhancement() const { @@ -13246,10 +13246,10 @@ std::shared_ptr WrapReference( ) ); } - + that->set_keys( std::move(wrapped) - ); + ); } std::shared_ptr enh( @@ -13673,10 +13673,10 @@ std::shared_ptr WrapValueList( ) ); } - + that->set_value_reference_pairs( std::move(wrapped) - ); + ); } std::shared_ptr enh( @@ -13845,10 +13845,10 @@ std::shared_ptr WrapDataSpecificationIec61360 ) ); } - + that->set_preferred_name( std::move(wrapped) - ); + ); } if (that->short_name().has_value()) { @@ -14031,7 +14031,7 @@ void AssertNotEnhanced( /** * Wrap \p that instance recursively with the enhancement produced by the \p factory. * - * The factory decides itself whether it will produce an enhancement for + * The factory decides itself whether it will produce an enhancement for * \p that instance, or not. Even if no enhancement has been produced for \p that * instance, we will still continue to enhance the instances referenced * by \p that instance recursively. @@ -17250,7 +17250,7 @@ std::shared_ptr< /** * Try to unwrap the enhancement from \p that instance. - * + * * \param that instance possibly wrapped with an enhancement * \return the enhancement, or `nullptr` if \p that instance has not been wrapped * \tparam E type of the enhancement @@ -17272,7 +17272,7 @@ std::shared_ptr Unwrap( /** * Unwrap the enhancement from \p that instance. - * + * * \remark \p that instance must have been wrapped before. * * \param that instance expected to be wrapped with an enhancement diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.cpp index 1bbb78a77..927cff635 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.cpp @@ -12983,7 +12983,7 @@ void RecursiveExclusiveIterator::PrependToPath(Path* path) const { } std::unique_ptr RecursiveExclusiveIterator::Clone() const { - return common::make_unique(*this); + return common::make_unique(*this); } // endregion RecursiveExclusiveIterator implementation diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.hpp index 41bb19837..6a0e97625 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/iteration.hpp @@ -18,7 +18,7 @@ namespace aas_3_0 { /** * \defgroup iteration Define functions and structures to iterate over instances. - * @{ + * @{ */ namespace iteration { @@ -173,7 +173,7 @@ struct IndexSegment : public ISegment { * \brief Represent a path to some value. * * This is a path akin to C++ expressions. It is not to be confused with different - * paths used in the specification. This path class is meant to help with reporting. + * paths used in the specification. This path class is meant to help with reporting. * For example, we can use this path to let the user know when there is * a verification error in a model which can concern instances, but also properties * and items in the lists. @@ -296,7 +296,7 @@ class Iterator { friend bool operator!=(const Iterator& a, const Iterator& b); friend class Descent; - friend class DescentOnce; + friend class DescentOnce; friend Path MaterializePath(const Iterator& iterator); friend void PrependToPath(const Iterator& iterator, Path* path); diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.cpp index eb2f47556..5b427bb2f 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.cpp @@ -165,7 +165,7 @@ std::pair< return std::make_pair< common::optional, - common::optional + common::optional >( json.get(), common::nullopt @@ -209,7 +209,7 @@ std::pair< json.get(), common::nullopt ); - } + } if (json.is_number_unsigned()) { std::wstring message = common::Concat( @@ -517,9 +517,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -635,9 +635,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -677,9 +677,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -700,9 +700,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -723,9 +723,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -742,9 +742,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -761,9 +761,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -784,9 +784,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -826,9 +826,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -868,9 +868,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -891,9 +891,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -933,9 +933,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -956,9 +956,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -979,9 +979,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1002,9 +1002,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1025,9 +1025,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1048,9 +1048,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1071,9 +1071,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1094,9 +1094,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1117,9 +1117,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1155,9 +1155,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1178,9 +1178,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1201,9 +1201,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1220,9 +1220,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1243,9 +1243,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1266,9 +1266,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1285,9 +1285,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1323,9 +1323,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1346,9 +1346,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1369,9 +1369,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1407,9 +1407,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1426,9 +1426,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1445,9 +1445,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1464,9 +1464,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ std::pair< common::optional< std::shared_ptr @@ -1483,9 +1483,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1506,9 +1506,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1529,9 +1529,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1552,9 +1552,9 @@ std::pair< * * \param json value to be de-serialized * \param additional_properties if not set, check that \p json contains - * no additional properties + * no additional properties * \return the deserialized instance, or an error, if any - */ + */ template < typename T, typename std::enable_if< @@ -1746,7 +1746,7 @@ std::set kPropertiesInExtension = { "value", "refersTo" }; - + template < typename T, typename std::enable_if< @@ -1781,7 +1781,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInExtension.find(key_val.key()) - ); + ); if (it == kPropertiesInExtension.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -1912,7 +1912,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -2117,7 +2117,7 @@ std::pair< > >(); - the_refers_to->reserve(json_refers_to.size()); + the_refers_to->reserve(json_refers_to.size()); size_t index_refers_to = 0; @@ -2837,7 +2837,7 @@ std::set kPropertiesInAdministrativeInformation = { "creator", "templateId" }; - + template < typename T, typename std::enable_if< @@ -2872,7 +2872,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInAdministrativeInformation.find(key_val.key()) - ); + ); if (it == kPropertiesInAdministrativeInformation.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -2951,7 +2951,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -3299,7 +3299,7 @@ std::set kPropertiesInQualifier = { "value", "valueId" }; - + template < typename T, typename std::enable_if< @@ -3334,7 +3334,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInQualifier.find(key_val.key()) - ); + ); if (it == kPropertiesInQualifier.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -3477,7 +3477,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -3768,7 +3768,7 @@ std::set kPropertiesInAssetAdministrationShell = { "submodels", "modelType" }; - + template < typename T, typename std::enable_if< @@ -3803,7 +3803,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInAssetAdministrationShell.find(key_val.key()) - ); + ); if (it == kPropertiesInAssetAdministrationShell.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -3940,7 +3940,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -4089,7 +4089,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -4180,7 +4180,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -4330,7 +4330,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -4477,7 +4477,7 @@ std::pair< > >(); - the_submodels->reserve(json_submodels.size()); + the_submodels->reserve(json_submodels.size()); size_t index_submodels = 0; @@ -4561,7 +4561,7 @@ std::set kPropertiesInAssetInformation = { "assetType", "defaultThumbnail" }; - + std::pair< common::optional< std::shared_ptr @@ -4592,7 +4592,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInAssetInformation.find(key_val.key()) - ); + ); if (it == kPropertiesInAssetInformation.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -4774,7 +4774,7 @@ std::pair< > >(); - the_specific_asset_ids->reserve(json_specific_asset_ids.size()); + the_specific_asset_ids->reserve(json_specific_asset_ids.size()); size_t index_specific_asset_ids = 0; @@ -4910,7 +4910,7 @@ std::set kPropertiesInResource = { "path", "contentType" }; - + std::pair< common::optional< std::shared_ptr @@ -4941,7 +4941,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInResource.find(key_val.key()) - ); + ); if (it == kPropertiesInResource.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -5066,7 +5066,7 @@ std::set kPropertiesInSpecificAssetId = { "value", "externalSubjectId" }; - + template < typename T, typename std::enable_if< @@ -5101,7 +5101,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInSpecificAssetId.find(key_val.key()) - ); + ); if (it == kPropertiesInSpecificAssetId.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -5240,7 +5240,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -5411,7 +5411,7 @@ std::set kPropertiesInSubmodel = { "submodelElements", "modelType" }; - + template < typename T, typename std::enable_if< @@ -5446,7 +5446,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInSubmodel.find(key_val.key()) - ); + ); if (it == kPropertiesInSubmodel.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -5583,7 +5583,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -5732,7 +5732,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -5823,7 +5823,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -6063,7 +6063,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -6152,7 +6152,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -6243,7 +6243,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -6332,7 +6332,7 @@ std::pair< > >(); - the_submodel_elements->reserve(json_submodel_elements.size()); + the_submodel_elements->reserve(json_submodel_elements.size()); size_t index_submodel_elements = 0; @@ -6570,7 +6570,7 @@ std::set kPropertiesInRelationshipElement = { "second", "modelType" }; - + template < typename T, typename std::enable_if< @@ -6605,7 +6605,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInRelationshipElement.find(key_val.key()) - ); + ); if (it == kPropertiesInRelationshipElement.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -6744,7 +6744,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -6893,7 +6893,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -6984,7 +6984,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -7105,7 +7105,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -7194,7 +7194,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -7285,7 +7285,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -7508,7 +7508,7 @@ std::set kPropertiesInSubmodelElementList = { "value", "modelType" }; - + template < typename T, typename std::enable_if< @@ -7543,7 +7543,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInSubmodelElementList.find(key_val.key()) - ); + ); if (it == kPropertiesInSubmodelElementList.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -7682,7 +7682,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -7831,7 +7831,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -7922,7 +7922,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -8043,7 +8043,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -8132,7 +8132,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -8223,7 +8223,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -8489,7 +8489,7 @@ std::pair< > >(); - the_value->reserve(json_value.size()); + the_value->reserve(json_value.size()); size_t index_value = 0; @@ -8582,7 +8582,7 @@ std::set kPropertiesInSubmodelElementCollection = { "value", "modelType" }; - + template < typename T, typename std::enable_if< @@ -8617,7 +8617,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInSubmodelElementCollection.find(key_val.key()) - ); + ); if (it == kPropertiesInSubmodelElementCollection.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -8730,7 +8730,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -8879,7 +8879,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -8970,7 +8970,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -9091,7 +9091,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -9180,7 +9180,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -9271,7 +9271,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -9360,7 +9360,7 @@ std::pair< > >(); - the_value->reserve(json_value.size()); + the_value->reserve(json_value.size()); size_t index_value = 0; @@ -9548,7 +9548,7 @@ std::set kPropertiesInProperty = { "valueId", "modelType" }; - + template < typename T, typename std::enable_if< @@ -9583,7 +9583,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInProperty.find(key_val.key()) - ); + ); if (it == kPropertiesInProperty.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -9714,7 +9714,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -9863,7 +9863,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -9954,7 +9954,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -10075,7 +10075,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -10164,7 +10164,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -10255,7 +10255,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -10464,7 +10464,7 @@ std::set kPropertiesInMultiLanguageProperty = { "valueId", "modelType" }; - + template < typename T, typename std::enable_if< @@ -10499,7 +10499,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInMultiLanguageProperty.find(key_val.key()) - ); + ); if (it == kPropertiesInMultiLanguageProperty.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -10616,7 +10616,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -10765,7 +10765,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -10856,7 +10856,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -10977,7 +10977,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -11066,7 +11066,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -11157,7 +11157,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -11246,7 +11246,7 @@ std::pair< > >(); - the_value->reserve(json_value.size()); + the_value->reserve(json_value.size()); size_t index_value = 0; @@ -11370,7 +11370,7 @@ std::set kPropertiesInRange = { "max", "modelType" }; - + template < typename T, typename std::enable_if< @@ -11405,7 +11405,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInRange.find(key_val.key()) - ); + ); if (it == kPropertiesInRange.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -11534,7 +11534,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -11683,7 +11683,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -11774,7 +11774,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -11895,7 +11895,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -11984,7 +11984,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -12075,7 +12075,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -12282,7 +12282,7 @@ std::set kPropertiesInReferenceElement = { "value", "modelType" }; - + template < typename T, typename std::enable_if< @@ -12317,7 +12317,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInReferenceElement.find(key_val.key()) - ); + ); if (it == kPropertiesInReferenceElement.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -12428,7 +12428,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -12577,7 +12577,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -12668,7 +12668,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -12789,7 +12789,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -12878,7 +12878,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -12969,7 +12969,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -13089,7 +13089,7 @@ std::set kPropertiesInBlob = { "contentType", "modelType" }; - + template < typename T, typename std::enable_if< @@ -13124,7 +13124,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInBlob.find(key_val.key()) - ); + ); if (it == kPropertiesInBlob.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -13253,7 +13253,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -13402,7 +13402,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -13493,7 +13493,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -13614,7 +13614,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -13703,7 +13703,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -13794,7 +13794,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -13941,7 +13941,7 @@ std::set kPropertiesInFile = { "contentType", "modelType" }; - + template < typename T, typename std::enable_if< @@ -13976,7 +13976,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInFile.find(key_val.key()) - ); + ); if (it == kPropertiesInFile.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -14103,7 +14103,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -14252,7 +14252,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -14343,7 +14343,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -14464,7 +14464,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -14553,7 +14553,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -14644,7 +14644,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -14792,7 +14792,7 @@ std::set kPropertiesInAnnotatedRelationshipElement = { "annotations", "modelType" }; - + template < typename T, typename std::enable_if< @@ -14827,7 +14827,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInAnnotatedRelationshipElement.find(key_val.key()) - ); + ); if (it == kPropertiesInAnnotatedRelationshipElement.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -14972,7 +14972,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -15121,7 +15121,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -15212,7 +15212,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -15333,7 +15333,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -15422,7 +15422,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -15513,7 +15513,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -15658,7 +15658,7 @@ std::pair< > >(); - the_annotations->reserve(json_annotations.size()); + the_annotations->reserve(json_annotations.size()); size_t index_annotations = 0; @@ -15752,7 +15752,7 @@ std::set kPropertiesInEntity = { "specificAssetIds", "modelType" }; - + template < typename T, typename std::enable_if< @@ -15787,7 +15787,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInEntity.find(key_val.key()) - ); + ); if (it == kPropertiesInEntity.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -15926,7 +15926,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -16075,7 +16075,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -16166,7 +16166,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -16287,7 +16287,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -16376,7 +16376,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -16467,7 +16467,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -16556,7 +16556,7 @@ std::pair< > >(); - the_statements->reserve(json_statements.size()); + the_statements->reserve(json_statements.size()); size_t index_statements = 0; @@ -16732,7 +16732,7 @@ std::pair< > >(); - the_specific_asset_ids->reserve(json_specific_asset_ids.size()); + the_specific_asset_ids->reserve(json_specific_asset_ids.size()); size_t index_specific_asset_ids = 0; @@ -16823,7 +16823,7 @@ std::set kPropertiesInEventPayload = { "timeStamp", "payload" }; - + std::pair< common::optional< std::shared_ptr @@ -16854,7 +16854,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInEventPayload.find(key_val.key()) - ); + ); if (it == kPropertiesInEventPayload.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -17284,7 +17284,7 @@ std::set kPropertiesInBasicEventElement = { "maxInterval", "modelType" }; - + template < typename T, typename std::enable_if< @@ -17319,7 +17319,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInBasicEventElement.find(key_val.key()) - ); + ); if (it == kPropertiesInBasicEventElement.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -17484,7 +17484,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -17633,7 +17633,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -17724,7 +17724,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -17845,7 +17845,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -17934,7 +17934,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -18025,7 +18025,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -18413,7 +18413,7 @@ std::set kPropertiesInOperation = { "inoutputVariables", "modelType" }; - + template < typename T, typename std::enable_if< @@ -18448,7 +18448,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInOperation.find(key_val.key()) - ); + ); if (it == kPropertiesInOperation.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -18573,7 +18573,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -18722,7 +18722,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -18813,7 +18813,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -18934,7 +18934,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -19023,7 +19023,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -19114,7 +19114,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -19203,7 +19203,7 @@ std::pair< > >(); - the_input_variables->reserve(json_input_variables.size()); + the_input_variables->reserve(json_input_variables.size()); size_t index_input_variables = 0; @@ -19292,7 +19292,7 @@ std::pair< > >(); - the_output_variables->reserve(json_output_variables.size()); + the_output_variables->reserve(json_output_variables.size()); size_t index_output_variables = 0; @@ -19381,7 +19381,7 @@ std::pair< > >(); - the_inoutput_variables->reserve(json_inoutput_variables.size()); + the_inoutput_variables->reserve(json_inoutput_variables.size()); size_t index_inoutput_variables = 0; @@ -19462,7 +19462,7 @@ std::pair< std::set kPropertiesInOperationVariable = { "value" }; - + std::pair< common::optional< std::shared_ptr @@ -19493,7 +19493,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInOperationVariable.find(key_val.key()) - ); + ); if (it == kPropertiesInOperationVariable.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -19592,7 +19592,7 @@ std::set kPropertiesInCapability = { "embeddedDataSpecifications", "modelType" }; - + template < typename T, typename std::enable_if< @@ -19627,7 +19627,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInCapability.find(key_val.key()) - ); + ); if (it == kPropertiesInCapability.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -19734,7 +19734,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -19883,7 +19883,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -19974,7 +19974,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -20095,7 +20095,7 @@ std::pair< > >(); - the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); + the_supplemental_semantic_ids->reserve(json_supplemental_semantic_ids.size()); size_t index_supplemental_semantic_ids = 0; @@ -20184,7 +20184,7 @@ std::pair< > >(); - the_qualifiers->reserve(json_qualifiers.size()); + the_qualifiers->reserve(json_qualifiers.size()); size_t index_qualifiers = 0; @@ -20275,7 +20275,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -20362,7 +20362,7 @@ std::set kPropertiesInConceptDescription = { "isCaseOf", "modelType" }; - + template < typename T, typename std::enable_if< @@ -20397,7 +20397,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInConceptDescription.find(key_val.key()) - ); + ); if (it == kPropertiesInConceptDescription.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -20516,7 +20516,7 @@ std::pair< > >(); - the_extensions->reserve(json_extensions.size()); + the_extensions->reserve(json_extensions.size()); size_t index_extensions = 0; @@ -20665,7 +20665,7 @@ std::pair< > >(); - the_display_name->reserve(json_display_name.size()); + the_display_name->reserve(json_display_name.size()); size_t index_display_name = 0; @@ -20756,7 +20756,7 @@ std::pair< > >(); - the_description->reserve(json_description.size()); + the_description->reserve(json_description.size()); size_t index_description = 0; @@ -20906,7 +20906,7 @@ std::pair< > >(); - the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); + the_embedded_data_specifications->reserve(json_embedded_data_specifications.size()); size_t index_embedded_data_specifications = 0; @@ -20995,7 +20995,7 @@ std::pair< > >(); - the_is_case_of->reserve(json_is_case_of.size()); + the_is_case_of->reserve(json_is_case_of.size()); size_t index_is_case_of = 0; @@ -21075,7 +21075,7 @@ std::set kPropertiesInReference = { "referredSemanticId", "keys" }; - + std::pair< common::optional< std::shared_ptr @@ -21106,7 +21106,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInReference.find(key_val.key()) - ); + ); if (it == kPropertiesInReference.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -21296,7 +21296,7 @@ std::pair< > >(); - the_keys->reserve(json_keys.size()); + the_keys->reserve(json_keys.size()); size_t index_keys = 0; @@ -21368,7 +21368,7 @@ std::set kPropertiesInKey = { "type", "value" }; - + std::pair< common::optional< std::shared_ptr @@ -21399,7 +21399,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInKey.find(key_val.key()) - ); + ); if (it == kPropertiesInKey.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -21653,7 +21653,7 @@ std::set kPropertiesInLangStringNameType = { "language", "text" }; - + template < typename T, typename std::enable_if< @@ -21688,7 +21688,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInLangStringNameType.find(key_val.key()) - ); + ); if (it == kPropertiesInLangStringNameType.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -21820,7 +21820,7 @@ std::set kPropertiesInLangStringTextType = { "language", "text" }; - + template < typename T, typename std::enable_if< @@ -21855,7 +21855,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInLangStringTextType.find(key_val.key()) - ); + ); if (it == kPropertiesInLangStringTextType.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -21988,7 +21988,7 @@ std::set kPropertiesInEnvironment = { "submodels", "conceptDescriptions" }; - + std::pair< common::optional< std::shared_ptr @@ -22019,7 +22019,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInEnvironment.find(key_val.key()) - ); + ); if (it == kPropertiesInEnvironment.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -22100,7 +22100,7 @@ std::pair< > >(); - the_asset_administration_shells->reserve(json_asset_administration_shells.size()); + the_asset_administration_shells->reserve(json_asset_administration_shells.size()); size_t index_asset_administration_shells = 0; @@ -22191,7 +22191,7 @@ std::pair< > >(); - the_submodels->reserve(json_submodels.size()); + the_submodels->reserve(json_submodels.size()); size_t index_submodels = 0; @@ -22282,7 +22282,7 @@ std::pair< > >(); - the_concept_descriptions->reserve(json_concept_descriptions.size()); + the_concept_descriptions->reserve(json_concept_descriptions.size()); size_t index_concept_descriptions = 0; @@ -22424,7 +22424,7 @@ std::set kPropertiesInEmbeddedDataSpecification = { "dataSpecification", "dataSpecificationContent" }; - + std::pair< common::optional< std::shared_ptr @@ -22455,7 +22455,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInEmbeddedDataSpecification.find(key_val.key()) - ); + ); if (it == kPropertiesInEmbeddedDataSpecification.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -22591,7 +22591,7 @@ std::set kPropertiesInLevelType = { "typ", "max" }; - + std::pair< common::optional< std::shared_ptr @@ -22622,7 +22622,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInLevelType.find(key_val.key()) - ); + ); if (it == kPropertiesInLevelType.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -22838,7 +22838,7 @@ std::set kPropertiesInValueReferencePair = { "value", "valueId" }; - + std::pair< common::optional< std::shared_ptr @@ -22869,7 +22869,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInValueReferencePair.find(key_val.key()) - ); + ); if (it == kPropertiesInValueReferencePair.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -23001,7 +23001,7 @@ std::pair< std::set kPropertiesInValueList = { "valueReferencePairs" }; - + std::pair< common::optional< std::shared_ptr @@ -23032,7 +23032,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInValueList.find(key_val.key()) - ); + ); if (it == kPropertiesInValueList.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -23116,7 +23116,7 @@ std::pair< > >(); - the_value_reference_pairs->reserve(json_value_reference_pairs.size()); + the_value_reference_pairs->reserve(json_value_reference_pairs.size()); size_t index_value_reference_pairs = 0; @@ -23186,7 +23186,7 @@ std::set kPropertiesInLangStringPreferredNameTypeIec61360 = { "language", "text" }; - + template < typename T, typename std::enable_if< @@ -23221,7 +23221,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInLangStringPreferredNameTypeIec61360.find(key_val.key()) - ); + ); if (it == kPropertiesInLangStringPreferredNameTypeIec61360.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -23353,7 +23353,7 @@ std::set kPropertiesInLangStringShortNameTypeIec61360 = { "language", "text" }; - + template < typename T, typename std::enable_if< @@ -23388,7 +23388,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInLangStringShortNameTypeIec61360.find(key_val.key()) - ); + ); if (it == kPropertiesInLangStringShortNameTypeIec61360.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -23520,7 +23520,7 @@ std::set kPropertiesInLangStringDefinitionTypeIec61360 = { "language", "text" }; - + template < typename T, typename std::enable_if< @@ -23555,7 +23555,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInLangStringDefinitionTypeIec61360.find(key_val.key()) - ); + ); if (it == kPropertiesInLangStringDefinitionTypeIec61360.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -23698,7 +23698,7 @@ std::set kPropertiesInDataSpecificationIec61360 = { "levelType", "modelType" }; - + template < typename T, typename std::enable_if< @@ -23733,7 +23733,7 @@ std::pair< for (const auto& key_val : json.items()) { auto it( kPropertiesInDataSpecificationIec61360.find(key_val.key()) - ); + ); if (it == kPropertiesInDataSpecificationIec61360.end()) { std::wstring message = common::Concat( L"Unexpected additional property: ", @@ -23853,7 +23853,7 @@ std::pair< > >(); - the_preferred_name->reserve(json_preferred_name.size()); + the_preferred_name->reserve(json_preferred_name.size()); size_t index_preferred_name = 0; @@ -23943,7 +23943,7 @@ std::pair< > >(); - the_short_name->reserve(json_short_name.size()); + the_short_name->reserve(json_short_name.size()); size_t index_short_name = 0; @@ -24211,7 +24211,7 @@ std::pair< > >(); - the_definition->reserve(json_definition.size()); + the_definition->reserve(json_definition.size()); size_t index_definition = 0; @@ -24414,7 +24414,7 @@ common::expected< DeserializationError > HasSemanticsFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24449,7 +24449,7 @@ common::expected< DeserializationError > ExtensionFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24486,7 +24486,7 @@ common::expected< DeserializationError > HasExtensionsFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24521,7 +24521,7 @@ common::expected< DeserializationError > ReferableFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24556,7 +24556,7 @@ common::expected< DeserializationError > IdentifiableFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24591,7 +24591,7 @@ common::expected< DeserializationError > HasKindFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24626,7 +24626,7 @@ common::expected< DeserializationError > HasDataSpecificationFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24661,7 +24661,7 @@ common::expected< DeserializationError > AdministrativeInformationFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24698,7 +24698,7 @@ common::expected< DeserializationError > QualifiableFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24733,7 +24733,7 @@ common::expected< DeserializationError > QualifierFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24770,7 +24770,7 @@ common::expected< DeserializationError > AssetAdministrationShellFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24807,7 +24807,7 @@ common::expected< DeserializationError > AssetInformationFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24842,7 +24842,7 @@ common::expected< DeserializationError > ResourceFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24877,7 +24877,7 @@ common::expected< DeserializationError > SpecificAssetIdFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24914,7 +24914,7 @@ common::expected< DeserializationError > SubmodelFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24951,7 +24951,7 @@ common::expected< DeserializationError > SubmodelElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -24986,7 +24986,7 @@ common::expected< DeserializationError > RelationshipElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25021,7 +25021,7 @@ common::expected< DeserializationError > SubmodelElementListFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25058,7 +25058,7 @@ common::expected< DeserializationError > SubmodelElementCollectionFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25095,7 +25095,7 @@ common::expected< DeserializationError > DataElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25130,7 +25130,7 @@ common::expected< DeserializationError > PropertyFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25167,7 +25167,7 @@ common::expected< DeserializationError > MultiLanguagePropertyFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25204,7 +25204,7 @@ common::expected< DeserializationError > RangeFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25241,7 +25241,7 @@ common::expected< DeserializationError > ReferenceElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25278,7 +25278,7 @@ common::expected< DeserializationError > BlobFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25315,7 +25315,7 @@ common::expected< DeserializationError > FileFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25352,7 +25352,7 @@ common::expected< DeserializationError > AnnotatedRelationshipElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25389,7 +25389,7 @@ common::expected< DeserializationError > EntityFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25426,7 +25426,7 @@ common::expected< DeserializationError > EventPayloadFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25461,7 +25461,7 @@ common::expected< DeserializationError > EventElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25496,7 +25496,7 @@ common::expected< DeserializationError > BasicEventElementFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25533,7 +25533,7 @@ common::expected< DeserializationError > OperationFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25570,7 +25570,7 @@ common::expected< DeserializationError > OperationVariableFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25605,7 +25605,7 @@ common::expected< DeserializationError > CapabilityFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25642,7 +25642,7 @@ common::expected< DeserializationError > ConceptDescriptionFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25679,7 +25679,7 @@ common::expected< DeserializationError > ReferenceFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25714,7 +25714,7 @@ common::expected< DeserializationError > KeyFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25749,7 +25749,7 @@ common::expected< DeserializationError > AbstractLangStringFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25784,7 +25784,7 @@ common::expected< DeserializationError > LangStringNameTypeFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25821,7 +25821,7 @@ common::expected< DeserializationError > LangStringTextTypeFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25858,7 +25858,7 @@ common::expected< DeserializationError > EnvironmentFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25893,7 +25893,7 @@ common::expected< DeserializationError > DataSpecificationContentFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25928,7 +25928,7 @@ common::expected< DeserializationError > EmbeddedDataSpecificationFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25963,7 +25963,7 @@ common::expected< DeserializationError > LevelTypeFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -25998,7 +25998,7 @@ common::expected< DeserializationError > ValueReferencePairFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -26033,7 +26033,7 @@ common::expected< DeserializationError > ValueListFrom( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -26068,7 +26068,7 @@ common::expected< DeserializationError > LangStringPreferredNameTypeIec61360From( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -26105,7 +26105,7 @@ common::expected< DeserializationError > LangStringShortNameTypeIec61360From( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -26142,7 +26142,7 @@ common::expected< DeserializationError > LangStringDefinitionTypeIec61360From( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -26179,7 +26179,7 @@ common::expected< DeserializationError > DataSpecificationIec61360From( const nlohmann::json& json, - bool additional_properties + bool additional_properties ) { common::optional< std::shared_ptr @@ -26259,7 +26259,7 @@ std::string RenderSerializationErrorMessage( SerializationException::SerializationException( std::wstring cause, iteration::Path path -) : +) : cause_(std::move(cause)), path_(std::move(path)), msg_(RenderSerializationErrorMessage(cause, path)) { @@ -26288,7 +26288,7 @@ const iteration::Path& SerializationException::path() const noexcept { */ std::pair< common::optional, - common::optional + common::optional > SerializeInt64(int64_t value) { if ( value < -9007199254740991L diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.hpp index 4a7abe666..4186ad409 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/jsonization.hpp @@ -129,7 +129,7 @@ common::expected< DeserializationError > HasSemanticsFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -146,7 +146,7 @@ common::expected< DeserializationError > ExtensionFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -163,7 +163,7 @@ common::expected< DeserializationError > HasExtensionsFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -180,7 +180,7 @@ common::expected< DeserializationError > ReferableFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -197,7 +197,7 @@ common::expected< DeserializationError > IdentifiableFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -214,7 +214,7 @@ common::expected< DeserializationError > HasKindFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -231,7 +231,7 @@ common::expected< DeserializationError > HasDataSpecificationFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -248,7 +248,7 @@ common::expected< DeserializationError > AdministrativeInformationFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -265,7 +265,7 @@ common::expected< DeserializationError > QualifiableFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -282,7 +282,7 @@ common::expected< DeserializationError > QualifierFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -299,7 +299,7 @@ common::expected< DeserializationError > AssetAdministrationShellFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -316,7 +316,7 @@ common::expected< DeserializationError > AssetInformationFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -333,7 +333,7 @@ common::expected< DeserializationError > ResourceFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -350,7 +350,7 @@ common::expected< DeserializationError > SpecificAssetIdFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -367,7 +367,7 @@ common::expected< DeserializationError > SubmodelFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -384,7 +384,7 @@ common::expected< DeserializationError > SubmodelElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -401,7 +401,7 @@ common::expected< DeserializationError > RelationshipElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -418,7 +418,7 @@ common::expected< DeserializationError > SubmodelElementListFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -435,7 +435,7 @@ common::expected< DeserializationError > SubmodelElementCollectionFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -452,7 +452,7 @@ common::expected< DeserializationError > DataElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -469,7 +469,7 @@ common::expected< DeserializationError > PropertyFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -486,7 +486,7 @@ common::expected< DeserializationError > MultiLanguagePropertyFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -503,7 +503,7 @@ common::expected< DeserializationError > RangeFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -520,7 +520,7 @@ common::expected< DeserializationError > ReferenceElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -537,7 +537,7 @@ common::expected< DeserializationError > BlobFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -554,7 +554,7 @@ common::expected< DeserializationError > FileFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -571,7 +571,7 @@ common::expected< DeserializationError > AnnotatedRelationshipElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -588,7 +588,7 @@ common::expected< DeserializationError > EntityFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -605,7 +605,7 @@ common::expected< DeserializationError > EventPayloadFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -622,7 +622,7 @@ common::expected< DeserializationError > EventElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -639,7 +639,7 @@ common::expected< DeserializationError > BasicEventElementFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -656,7 +656,7 @@ common::expected< DeserializationError > OperationFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -673,7 +673,7 @@ common::expected< DeserializationError > OperationVariableFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -690,7 +690,7 @@ common::expected< DeserializationError > CapabilityFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -707,7 +707,7 @@ common::expected< DeserializationError > ConceptDescriptionFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -724,7 +724,7 @@ common::expected< DeserializationError > ReferenceFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -741,7 +741,7 @@ common::expected< DeserializationError > KeyFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -758,7 +758,7 @@ common::expected< DeserializationError > AbstractLangStringFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -775,7 +775,7 @@ common::expected< DeserializationError > LangStringNameTypeFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -792,7 +792,7 @@ common::expected< DeserializationError > LangStringTextTypeFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -809,7 +809,7 @@ common::expected< DeserializationError > EnvironmentFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -826,7 +826,7 @@ common::expected< DeserializationError > DataSpecificationContentFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -843,7 +843,7 @@ common::expected< DeserializationError > EmbeddedDataSpecificationFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -860,7 +860,7 @@ common::expected< DeserializationError > LevelTypeFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -877,7 +877,7 @@ common::expected< DeserializationError > ValueReferencePairFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -894,7 +894,7 @@ common::expected< DeserializationError > ValueListFrom( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -911,7 +911,7 @@ common::expected< DeserializationError > LangStringPreferredNameTypeIec61360From( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -928,7 +928,7 @@ common::expected< DeserializationError > LangStringShortNameTypeIec61360From( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -945,7 +945,7 @@ common::expected< DeserializationError > LangStringDefinitionTypeIec61360From( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); /** @@ -962,7 +962,7 @@ common::expected< DeserializationError > DataSpecificationIec61360From( const nlohmann::json& json, - bool additional_properties = false + bool additional_properties = false ); // endregion Deserialization @@ -998,7 +998,7 @@ class SerializationException : public std::exception { * \param that instance to be serialized * \return The corresponding JSON value * \throw \ref SerializationException if a value within \p that instance - * could not be serialized + * could not be serialized */ nlohmann::json Serialize( const types::IClass& that diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.cpp index 7e8a0dcb7..4e059e686 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.cpp @@ -1512,7 +1512,7 @@ std::string to_string( } // The following encoder has been adapted from Jouni Malinen to work with -// std::string. The original source code is available at: +// std::string. The original source code is available at: // https://web.mit.edu/freebsd/head/contrib/wpa/src/utils/base64.c // // See also the following StackOverflow question for a benchmark: @@ -1590,7 +1590,7 @@ std::string Base64Encode( return out_string; } -// The following decoder is vaguely based on: +// The following decoder is vaguely based on: // https://github.com/danguer/blog-examples/blob/master/js/base64-binary.js, // https://github.com/niklasvh/base64-arraybuffer/blob/master/src/index.ts and // https://github.com/beatgammit/base64-js/blob/master/index.js. @@ -1598,7 +1598,7 @@ std::string Base64Encode( std::vector ConstructBase64Lookup() { std::vector lookup(256, 255); for (std::uint8_t i = 0; i < kCharBase64TableLen; ++i) { - lookup.at(kCharBase64Table[i]) = i; + lookup.at(kCharBase64Table[i]) = i; } return lookup; } @@ -1667,7 +1667,7 @@ common::expected< ); return common::make_unexpected(message); - } + } const unsigned char code1 = text[i + 1]; if (code1 >= base64_lookup_len) { @@ -1698,7 +1698,7 @@ common::expected< ); return common::make_unexpected(message); - } + } // We map padding to 65, which is the value of "A". const unsigned char code2 = i + 2 < len_wo_pad ? text[i + 2] : 65; diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.hpp index a69f06127..d2ab62cbe 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/stringification.hpp @@ -26,7 +26,7 @@ namespace stringification { * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional ModelTypeFromString( const std::string& text ); @@ -59,7 +59,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional ModellingKindFromString( const std::string& text ); @@ -94,7 +94,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional QualifierKindFromString( const std::string& text ); @@ -129,7 +129,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional AssetKindFromString( const std::string& text ); @@ -164,7 +164,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional AasSubmodelElementsFromString( const std::string& text ); @@ -199,7 +199,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional EntityTypeFromString( const std::string& text ); @@ -234,7 +234,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional DirectionFromString( const std::string& text ); @@ -269,7 +269,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional StateOfEventFromString( const std::string& text ); @@ -304,7 +304,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional ReferenceTypesFromString( const std::string& text ); @@ -339,7 +339,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional KeyTypesFromString( const std::string& text ); @@ -374,7 +374,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional DataTypeDefXsdFromString( const std::string& text ); @@ -409,7 +409,7 @@ std::string to_string( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional DataTypeIec61360FromString( const std::string& text ); @@ -449,7 +449,7 @@ std::string Base64Encode( ); /** - * Decode the \p the text with base64 to bytes. + * Decode the \p the text with base64 to bytes. * * \remark \parblock * We intentionally decode from std::string and *not* from std::wstring as diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/types.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/types.hpp index 148c1d3b6..f8692c990 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/types.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/types.hpp @@ -458,7 +458,7 @@ class IClass { /** * Indicate the runtime model type. */ - virtual ModelType model_type() const = 0; + virtual ModelType model_type() const = 0; virtual ~IClass() = default; }; @@ -10867,7 +10867,7 @@ class DataSpecificationIec61360 * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IHasSemantics - */ + */ bool IsHasSemantics( const IClass& that ); @@ -10882,7 +10882,7 @@ bool IsHasSemantics( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IExtension - */ + */ bool IsExtension( const IClass& that ); @@ -10897,7 +10897,7 @@ bool IsExtension( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IHasExtensions - */ + */ bool IsHasExtensions( const IClass& that ); @@ -10912,7 +10912,7 @@ bool IsHasExtensions( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IReferable - */ + */ bool IsReferable( const IClass& that ); @@ -10927,7 +10927,7 @@ bool IsReferable( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IIdentifiable - */ + */ bool IsIdentifiable( const IClass& that ); @@ -10942,7 +10942,7 @@ bool IsIdentifiable( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IHasKind - */ + */ bool IsHasKind( const IClass& that ); @@ -10957,7 +10957,7 @@ bool IsHasKind( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IHasDataSpecification - */ + */ bool IsHasDataSpecification( const IClass& that ); @@ -10972,7 +10972,7 @@ bool IsHasDataSpecification( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IAdministrativeInformation - */ + */ bool IsAdministrativeInformation( const IClass& that ); @@ -10987,7 +10987,7 @@ bool IsAdministrativeInformation( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IQualifiable - */ + */ bool IsQualifiable( const IClass& that ); @@ -11002,7 +11002,7 @@ bool IsQualifiable( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IQualifier - */ + */ bool IsQualifier( const IClass& that ); @@ -11017,7 +11017,7 @@ bool IsQualifier( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IAssetAdministrationShell - */ + */ bool IsAssetAdministrationShell( const IClass& that ); @@ -11032,7 +11032,7 @@ bool IsAssetAdministrationShell( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IAssetInformation - */ + */ bool IsAssetInformation( const IClass& that ); @@ -11047,7 +11047,7 @@ bool IsAssetInformation( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IResource - */ + */ bool IsResource( const IClass& that ); @@ -11062,7 +11062,7 @@ bool IsResource( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ISpecificAssetId - */ + */ bool IsSpecificAssetId( const IClass& that ); @@ -11077,7 +11077,7 @@ bool IsSpecificAssetId( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ISubmodel - */ + */ bool IsSubmodel( const IClass& that ); @@ -11092,7 +11092,7 @@ bool IsSubmodel( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ISubmodelElement - */ + */ bool IsSubmodelElement( const IClass& that ); @@ -11107,7 +11107,7 @@ bool IsSubmodelElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IRelationshipElement - */ + */ bool IsRelationshipElement( const IClass& that ); @@ -11122,7 +11122,7 @@ bool IsRelationshipElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ISubmodelElementList - */ + */ bool IsSubmodelElementList( const IClass& that ); @@ -11137,7 +11137,7 @@ bool IsSubmodelElementList( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ISubmodelElementCollection - */ + */ bool IsSubmodelElementCollection( const IClass& that ); @@ -11152,7 +11152,7 @@ bool IsSubmodelElementCollection( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IDataElement - */ + */ bool IsDataElement( const IClass& that ); @@ -11167,7 +11167,7 @@ bool IsDataElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IProperty - */ + */ bool IsProperty( const IClass& that ); @@ -11182,7 +11182,7 @@ bool IsProperty( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IMultiLanguageProperty - */ + */ bool IsMultiLanguageProperty( const IClass& that ); @@ -11197,7 +11197,7 @@ bool IsMultiLanguageProperty( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IRange - */ + */ bool IsRange( const IClass& that ); @@ -11212,7 +11212,7 @@ bool IsRange( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IReferenceElement - */ + */ bool IsReferenceElement( const IClass& that ); @@ -11227,7 +11227,7 @@ bool IsReferenceElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IBlob - */ + */ bool IsBlob( const IClass& that ); @@ -11242,7 +11242,7 @@ bool IsBlob( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IFile - */ + */ bool IsFile( const IClass& that ); @@ -11257,7 +11257,7 @@ bool IsFile( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IAnnotatedRelationshipElement - */ + */ bool IsAnnotatedRelationshipElement( const IClass& that ); @@ -11272,7 +11272,7 @@ bool IsAnnotatedRelationshipElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IEntity - */ + */ bool IsEntity( const IClass& that ); @@ -11287,7 +11287,7 @@ bool IsEntity( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IEventPayload - */ + */ bool IsEventPayload( const IClass& that ); @@ -11302,7 +11302,7 @@ bool IsEventPayload( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IEventElement - */ + */ bool IsEventElement( const IClass& that ); @@ -11317,7 +11317,7 @@ bool IsEventElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IBasicEventElement - */ + */ bool IsBasicEventElement( const IClass& that ); @@ -11332,7 +11332,7 @@ bool IsBasicEventElement( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IOperation - */ + */ bool IsOperation( const IClass& that ); @@ -11347,7 +11347,7 @@ bool IsOperation( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IOperationVariable - */ + */ bool IsOperationVariable( const IClass& that ); @@ -11362,7 +11362,7 @@ bool IsOperationVariable( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ICapability - */ + */ bool IsCapability( const IClass& that ); @@ -11377,7 +11377,7 @@ bool IsCapability( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IConceptDescription - */ + */ bool IsConceptDescription( const IClass& that ); @@ -11392,7 +11392,7 @@ bool IsConceptDescription( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IReference - */ + */ bool IsReference( const IClass& that ); @@ -11407,7 +11407,7 @@ bool IsReference( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IKey - */ + */ bool IsKey( const IClass& that ); @@ -11422,7 +11422,7 @@ bool IsKey( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IAbstractLangString - */ + */ bool IsAbstractLangString( const IClass& that ); @@ -11437,7 +11437,7 @@ bool IsAbstractLangString( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ILangStringNameType - */ + */ bool IsLangStringNameType( const IClass& that ); @@ -11452,7 +11452,7 @@ bool IsLangStringNameType( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ILangStringTextType - */ + */ bool IsLangStringTextType( const IClass& that ); @@ -11467,7 +11467,7 @@ bool IsLangStringTextType( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IEnvironment - */ + */ bool IsEnvironment( const IClass& that ); @@ -11482,7 +11482,7 @@ bool IsEnvironment( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IDataSpecificationContent - */ + */ bool IsDataSpecificationContent( const IClass& that ); @@ -11497,7 +11497,7 @@ bool IsDataSpecificationContent( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IEmbeddedDataSpecification - */ + */ bool IsEmbeddedDataSpecification( const IClass& that ); @@ -11512,7 +11512,7 @@ bool IsEmbeddedDataSpecification( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ILevelType - */ + */ bool IsLevelType( const IClass& that ); @@ -11527,7 +11527,7 @@ bool IsLevelType( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IValueReferencePair - */ + */ bool IsValueReferencePair( const IClass& that ); @@ -11542,7 +11542,7 @@ bool IsValueReferencePair( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IValueList - */ + */ bool IsValueList( const IClass& that ); @@ -11557,7 +11557,7 @@ bool IsValueList( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ILangStringPreferredNameTypeIec61360 - */ + */ bool IsLangStringPreferredNameTypeIec61360( const IClass& that ); @@ -11572,7 +11572,7 @@ bool IsLangStringPreferredNameTypeIec61360( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ILangStringShortNameTypeIec61360 - */ + */ bool IsLangStringShortNameTypeIec61360( const IClass& that ); @@ -11587,7 +11587,7 @@ bool IsLangStringShortNameTypeIec61360( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref ILangStringDefinitionTypeIec61360 - */ + */ bool IsLangStringDefinitionTypeIec61360( const IClass& that ); @@ -11602,7 +11602,7 @@ bool IsLangStringDefinitionTypeIec61360( * \param that instance to check for runtime type * \return `true` if \p that instance is indeed * an instance of \ref IDataSpecificationIec61360 - */ + */ bool IsDataSpecificationIec61360( const IClass& that ); diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.cpp index becfb039e..9244f272d 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.cpp @@ -43,7 +43,7 @@ class AlwaysDoneVerificator : public impl::IVerificator { bool Done() const override; const Error& Get() const override; Error& GetMutable() override; - long Index() const override; + long Index() const override; std::unique_ptr Clone() const override; virtual ~AlwaysDoneVerificator() = default; @@ -4296,7 +4296,7 @@ void OfBlobType::Next() { throw std::logic_error( "You want to move " "a verificator OfBlobType, " - "but the verificator is always done as " + "but the verificator is always done as " "there are no invariants defined for this constrained primitive." ); } @@ -4309,7 +4309,7 @@ const Error& OfBlobType::Get() const { throw std::logic_error( "You want to get from " "a verificator OfBlobType, " - "but the verificator is always done as " + "but the verificator is always done as " "there are no invariants defined for this constrained primitive." ); } @@ -4318,7 +4318,7 @@ Error& OfBlobType::GetMutable() { throw std::logic_error( "You want to get mutable from " "a verificator OfBlobType, " - "but the verificator is always done as " + "but the verificator is always done as " "there are no invariants defined for this constrained primitive." ); } @@ -7045,7 +7045,7 @@ void OfValueDataType::Next() { throw std::logic_error( "You want to move " "a verificator OfValueDataType, " - "but the verificator is always done as " + "but the verificator is always done as " "there are no invariants defined for this constrained primitive." ); } @@ -7058,7 +7058,7 @@ const Error& OfValueDataType::Get() const { throw std::logic_error( "You want to get from " "a verificator OfValueDataType, " - "but the verificator is always done as " + "but the verificator is always done as " "there are no invariants defined for this constrained primitive." ); } @@ -7067,7 +7067,7 @@ Error& OfValueDataType::GetMutable() { throw std::logic_error( "You want to get mutable from " "a verificator OfValueDataType, " - "but the verificator is always done as " + "but the verificator is always done as " "there are no invariants defined for this constrained primitive." ); } @@ -8339,7 +8339,7 @@ class OfExtension : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfExtension() override = default; @@ -8650,7 +8650,7 @@ void OfExtension::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -8726,7 +8726,7 @@ class OfAdministrativeInformation : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfAdministrativeInformation() override = default; @@ -8951,7 +8951,7 @@ void OfAdministrativeInformation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -9005,7 +9005,7 @@ void OfAdministrativeInformation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -9059,7 +9059,7 @@ void OfAdministrativeInformation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -9135,7 +9135,7 @@ class OfQualifier : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfQualifier() override = default; @@ -9428,7 +9428,7 @@ void OfQualifier::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -9504,7 +9504,7 @@ class OfAssetAdministrationShell : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfAssetAdministrationShell() override = default; @@ -9899,7 +9899,7 @@ void OfAssetAdministrationShell::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -9953,7 +9953,7 @@ void OfAssetAdministrationShell::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -10076,7 +10076,7 @@ class OfAssetInformation : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfAssetInformation() override = default; @@ -10345,7 +10345,7 @@ void OfAssetInformation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -10399,7 +10399,7 @@ void OfAssetInformation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -10475,7 +10475,7 @@ class OfResource : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfResource() override = default; @@ -10705,7 +10705,7 @@ void OfResource::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -10781,7 +10781,7 @@ class OfSpecificAssetId : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfSpecificAssetId() override = default; @@ -11140,7 +11140,7 @@ class OfSubmodel : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfSubmodel() override = default; @@ -11681,7 +11681,7 @@ void OfSubmodel::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -11735,7 +11735,7 @@ void OfSubmodel::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -11858,7 +11858,7 @@ class OfRelationshipElement : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfRelationshipElement() override = default; @@ -12265,7 +12265,7 @@ void OfRelationshipElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -12319,7 +12319,7 @@ void OfRelationshipElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -12395,7 +12395,7 @@ class OfSubmodelElementList : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfSubmodelElementList() override = default; @@ -12967,7 +12967,7 @@ void OfSubmodelElementList::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -13021,7 +13021,7 @@ void OfSubmodelElementList::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -13097,7 +13097,7 @@ class OfSubmodelElementCollection : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfSubmodelElementCollection() override = default; @@ -13571,7 +13571,7 @@ void OfSubmodelElementCollection::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -13625,7 +13625,7 @@ void OfSubmodelElementCollection::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -13701,7 +13701,7 @@ class OfProperty : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfProperty() override = default; @@ -14154,7 +14154,7 @@ void OfProperty::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -14208,7 +14208,7 @@ void OfProperty::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -14262,7 +14262,7 @@ void OfProperty::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -14338,7 +14338,7 @@ class OfMultiLanguageProperty : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfMultiLanguageProperty() override = default; @@ -14809,7 +14809,7 @@ void OfMultiLanguageProperty::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -14863,7 +14863,7 @@ void OfMultiLanguageProperty::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -14939,7 +14939,7 @@ class OfRange : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfRange() override = default; @@ -15414,7 +15414,7 @@ void OfRange::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -15468,7 +15468,7 @@ void OfRange::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -15522,7 +15522,7 @@ void OfRange::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -15576,7 +15576,7 @@ void OfRange::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -15652,7 +15652,7 @@ class OfReferenceElement : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfReferenceElement() override = default; @@ -16083,7 +16083,7 @@ void OfReferenceElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -16137,7 +16137,7 @@ void OfReferenceElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -16213,7 +16213,7 @@ class OfBlob : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfBlob() override = default; @@ -16644,7 +16644,7 @@ void OfBlob::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -16698,7 +16698,7 @@ void OfBlob::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -16752,7 +16752,7 @@ void OfBlob::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -16875,7 +16875,7 @@ class OfFile : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfFile() override = default; @@ -17306,7 +17306,7 @@ void OfFile::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -17360,7 +17360,7 @@ void OfFile::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -17414,7 +17414,7 @@ void OfFile::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -17537,7 +17537,7 @@ class OfAnnotatedRelationshipElement : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfAnnotatedRelationshipElement() override = default; @@ -17991,7 +17991,7 @@ void OfAnnotatedRelationshipElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -18045,7 +18045,7 @@ void OfAnnotatedRelationshipElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -18121,7 +18121,7 @@ class OfEntity : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfEntity() override = default; @@ -18644,7 +18644,7 @@ void OfEntity::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -18698,7 +18698,7 @@ void OfEntity::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -18752,7 +18752,7 @@ void OfEntity::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -18828,7 +18828,7 @@ class OfEventPayload : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfEventPayload() override = default; @@ -19059,7 +19059,7 @@ void OfEventPayload::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19160,7 +19160,7 @@ void OfEventPayload::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19236,7 +19236,7 @@ class OfBasicEventElement : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfBasicEventElement() override = default; @@ -19703,7 +19703,7 @@ void OfBasicEventElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19757,7 +19757,7 @@ void OfBasicEventElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19811,7 +19811,7 @@ void OfBasicEventElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19865,7 +19865,7 @@ void OfBasicEventElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19919,7 +19919,7 @@ void OfBasicEventElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -19973,7 +19973,7 @@ void OfBasicEventElement::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -20049,7 +20049,7 @@ class OfOperation : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfOperation() override = default; @@ -20539,7 +20539,7 @@ void OfOperation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -20593,7 +20593,7 @@ void OfOperation::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -20669,7 +20669,7 @@ class OfOperationVariable : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfOperationVariable() override = default; @@ -20883,7 +20883,7 @@ class OfCapability : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfCapability() override = default; @@ -21290,7 +21290,7 @@ void OfCapability::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -21344,7 +21344,7 @@ void OfCapability::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -21420,7 +21420,7 @@ class OfConceptDescription : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfConceptDescription() override = default; @@ -21914,7 +21914,7 @@ void OfConceptDescription::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -21968,7 +21968,7 @@ void OfConceptDescription::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -22091,7 +22091,7 @@ class OfReference : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfReference() override = default; @@ -22543,7 +22543,7 @@ class OfKey : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfKey() override = default; @@ -22795,7 +22795,7 @@ class OfLangStringNameType : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfLangStringNameType() override = default; @@ -23110,7 +23110,7 @@ class OfLangStringTextType : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfLangStringTextType() override = default; @@ -23425,7 +23425,7 @@ class OfEnvironment : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfEnvironment() override = default; @@ -23686,7 +23686,7 @@ void OfEmbeddedDataSpecification::Next() { throw std::logic_error( "You want to move " "a verificator OfEmbeddedDataSpecification, " - "but the verificator is always done as " + "but the verificator is always done as " "IEmbeddedDataSpecification " "has no invariants defined." ); @@ -23700,7 +23700,7 @@ const Error& OfEmbeddedDataSpecification::Get() const { throw std::logic_error( "You want to get from " "a verificator OfEmbeddedDataSpecification, " - "but the verificator is always done as " + "but the verificator is always done as " "IEmbeddedDataSpecification " "has no invariants defined." ); @@ -23710,7 +23710,7 @@ Error& OfEmbeddedDataSpecification::GetMutable() { throw std::logic_error( "You want to get mutable from " "a verificator OfEmbeddedDataSpecification, " - "but the verificator is always done as " + "but the verificator is always done as " "IEmbeddedDataSpecification " "has no invariants defined." ); @@ -23758,7 +23758,7 @@ void OfLevelType::Next() { throw std::logic_error( "You want to move " "a verificator OfLevelType, " - "but the verificator is always done as " + "but the verificator is always done as " "ILevelType " "has no invariants defined." ); @@ -23772,7 +23772,7 @@ const Error& OfLevelType::Get() const { throw std::logic_error( "You want to get from " "a verificator OfLevelType, " - "but the verificator is always done as " + "but the verificator is always done as " "ILevelType " "has no invariants defined." ); @@ -23782,7 +23782,7 @@ Error& OfLevelType::GetMutable() { throw std::logic_error( "You want to get mutable from " "a verificator OfLevelType, " - "but the verificator is always done as " + "but the verificator is always done as " "ILevelType " "has no invariants defined." ); @@ -23823,7 +23823,7 @@ class OfValueReferencePair : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfValueReferencePair() override = default; @@ -24075,7 +24075,7 @@ class OfValueList : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfValueList() override = default; @@ -24286,7 +24286,7 @@ class OfLangStringPreferredNameTypeIec61360 : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfLangStringPreferredNameTypeIec61360() override = default; @@ -24601,7 +24601,7 @@ class OfLangStringShortNameTypeIec61360 : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfLangStringShortNameTypeIec61360() override = default; @@ -24916,7 +24916,7 @@ class OfLangStringDefinitionTypeIec61360 : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfLangStringDefinitionTypeIec61360() override = default; @@ -25231,7 +25231,7 @@ class OfDataSpecificationIec61360 : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~OfDataSpecificationIec61360() override = default; @@ -25608,7 +25608,7 @@ void OfDataSpecificationIec61360::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -25662,7 +25662,7 @@ void OfDataSpecificationIec61360::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -25716,7 +25716,7 @@ void OfDataSpecificationIec61360::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -25770,7 +25770,7 @@ void OfDataSpecificationIec61360::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -25824,7 +25824,7 @@ void OfDataSpecificationIec61360::Execute() { // We intentionally take over the ownership of the errors' data members, // as we know the implementation in all the detail, and want to avoid a costly - // copy. + // copy. error_ = common::make_unique( std::move( constrained_primitive_verificator_->GetMutable() @@ -26142,7 +26142,7 @@ class RecursiveVerificator : public impl::IVerificator { const Error& Get() const override; Error& GetMutable() override; long Index() const override; - + std::unique_ptr Clone() const override; ~RecursiveVerificator() override = default; @@ -26281,7 +26281,7 @@ long RecursiveVerificator::Index() const { } std::unique_ptr RecursiveVerificator::Clone() const { - return common::make_unique(*this); + return common::make_unique(*this); } void RecursiveVerificator::Execute() { diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.hpp index 46b17973f..fe3218524 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/verification.hpp @@ -60,7 +60,7 @@ struct Error { * * This means that copy-construction and equality comparisons are much more heavy-weight * than you'd usually expect from an STL iterator. For example, if you want to sort - * the errors by some criterion, you are most probably faster if you populate a vector, + * the errors by some criterion, you are most probably faster if you populate a vector, * and then sort the vector. * * Also, given that this iterator is not light-weight, you should in almost all cases @@ -68,10 +68,10 @@ struct Error { * increment would create an iterator copy every time. * * We follow the C++ standard, and assume that comparison between the two iterators - * over two different collections results in undefined behavior. See + * over two different collections results in undefined behavior. See * http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2948.html and - * https://stackoverflow.com/questions/4657513/comparing-iterators-from-different-containers. - */ + * https://stackoverflow.com/questions/4657513/comparing-iterators-from-different-containers. + */ class Iterator { using iterator_category = std::forward_iterator_tag; /// The difference is meaningless, but has to be defined. @@ -106,7 +106,7 @@ class Iterator { friend bool operator==(const Iterator& a, const Iterator& b); friend bool operator!=(const Iterator& a, const Iterator& b); - private: + private: std::unique_ptr verificator_; }; @@ -125,7 +125,7 @@ class IVerificator { virtual const Error& Get() const = 0; virtual Error& GetMutable() = 0; virtual long Index() const = 0; - + virtual std::unique_ptr Clone() const = 0; virtual ~IVerificator() = default; @@ -153,7 +153,7 @@ class IVerification { * report_somehow(error); * } * \endcode - * + * * We use const references to shared pointers here for efficiency. Since * we do not make a copy of \p that shared pointer, it is very important that * the given shared pointer outlives the verification, lest cause undefined behavior. diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/visitation.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/visitation.hpp index 68ac0ea5c..9fb964a85 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/visitation.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/visitation.hpp @@ -24,7 +24,7 @@ class IVisitor { * Visit \p that instance and recursively visit all the instances * referenced from \p that instance. * - * We use const references to shared pointers here for efficiency in case you want, + * We use const references to shared pointers here for efficiency in case you want, * say, to share ownership over instances in your own external containers. Since * we do not make copies of the shared pointers, it is very important that * the given shared pointers outlive the visitor, lest cause undefined behavior. @@ -32,10 +32,10 @@ class IVisitor { * * https://stackoverflow.com/questions/12002480/passing-stdshared-ptr-to-constructors/12002668#12002668 * * https://stackoverflow.com/questions/3310737/should-we-pass-a-shared-ptr-by-reference-or-by-value * * https://stackoverflow.com/questions/37610494/passing-const-shared-ptrt-versus-just-shared-ptrt-as-parameter - * - * Changing the references during the visitation results in undefined + * + * Changing the references during the visitation results in undefined * behavior. This follows how STL deals with modifications to containers, see: - * https://stackoverflow.com/questions/6438086/iterator-invalidation-rules-for-c-containers + * https://stackoverflow.com/questions/6438086/iterator-invalidation-rules-for-c-containers * * \param that instance to be visited recursively */ diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.cpp index 9a6d50969..857474ecc 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.cpp @@ -1512,7 +1512,7 @@ std::wstring to_wstring( } // The following encoder has been adapted from Jouni Malinen to work with -// std::wstring. The original source code is available at: +// std::wstring. The original source code is available at: // https://web.mit.edu/freebsd/head/contrib/wpa/src/utils/base64.c static const wchar_t kWcharBase64Table[65]( diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.hpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.hpp index d13881f0b..2eda4ff5e 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.hpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/wstringification.hpp @@ -26,7 +26,7 @@ namespace wstringification { * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional ModelTypeFromWstring( const std::wstring& text ); @@ -59,7 +59,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional ModellingKindFromWstring( const std::wstring& text ); @@ -94,7 +94,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional QualifierKindFromWstring( const std::wstring& text ); @@ -129,7 +129,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional AssetKindFromWstring( const std::wstring& text ); @@ -164,7 +164,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional AasSubmodelElementsFromWstring( const std::wstring& text ); @@ -199,7 +199,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional EntityTypeFromWstring( const std::wstring& text ); @@ -234,7 +234,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional DirectionFromWstring( const std::wstring& text ); @@ -269,7 +269,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional StateOfEventFromWstring( const std::wstring& text ); @@ -304,7 +304,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional ReferenceTypesFromWstring( const std::wstring& text ); @@ -339,7 +339,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional KeyTypesFromWstring( const std::wstring& text ); @@ -374,7 +374,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional DataTypeDefXsdFromWstring( const std::wstring& text ); @@ -409,7 +409,7 @@ std::wstring to_wstring( * * \param text to be parsed * \return literal, or nothing, if \p text invalid - */ + */ common::optional DataTypeIec61360FromWstring( const std::wstring& text ); diff --git a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/xmlization.cpp b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/xmlization.cpp index 32a7b7476..360bb5063 100644 --- a/test_data/cpp/test_main/aas_core_meta.v3/expected_output/xmlization.cpp +++ b/test_data/cpp/test_main/aas_core_meta.v3/expected_output/xmlization.cpp @@ -13574,7 +13574,7 @@ std::pair< // See: https://stackoverflow.com/questions/25573996/c4127-conditional-expression-is-constant const bool sizeof_int_is_8 = sizeof(int) == 8; const bool sizeof_long_is_8 = sizeof(long) == 8; - const bool sizeof_long_long_is_8 = sizeof(long long) == 8; + const bool sizeof_long_long_is_8 = sizeof(long long) == 8; if (sizeof_int_is_8) { deserialized = std::stoi(text); diff --git a/test_data/python/test_main/aas_core_meta.v3/expected_output/verification.py b/test_data/python/test_main/aas_core_meta.v3/expected_output/verification.py index 249245e78..b5696062f 100644 --- a/test_data/python/test_main/aas_core_meta.v3/expected_output/verification.py +++ b/test_data/python/test_main/aas_core_meta.v3/expected_output/verification.py @@ -1503,10 +1503,11 @@ def is_model_reference_to( """ # pylint: disable=all return ( - reference.type == aas_types.ReferenceTypes.MODEL_REFERENCE - and len(reference.keys) != 0 - and reference.keys[-1].type == expected_type - ) + ( + reference.type == aas_types.ReferenceTypes.MODEL_REFERENCE + and len(reference.keys) != 0 + and reference.keys[-1].type == expected_type + )) def is_model_reference_to_referable( @@ -1517,10 +1518,11 @@ def is_model_reference_to_referable( """ # pylint: disable=all return ( - reference.type == aas_types.ReferenceTypes.MODEL_REFERENCE - and len(reference.keys) != 0 - and (reference.keys[-1].type in aas_constants.AAS_REFERABLES) - ) + ( + reference.type == aas_types.ReferenceTypes.MODEL_REFERENCE + and len(reference.keys) != 0 + and (reference.keys[-1].type in aas_constants.AAS_REFERABLES) + )) def id_shorts_are_unique(referables: Iterable[aas_types.Referable]) -> bool: diff --git a/tests/cpp/test_common.py b/tests/cpp/test_common.py index 28bccf5bb..94d19edb4 100644 --- a/tests/cpp/test_common.py +++ b/tests/cpp/test_common.py @@ -1,3 +1,5 @@ +# pylint: disable=missing-docstring + import unittest from aas_core_codegen.cpp import common as cpp_common @@ -10,19 +12,19 @@ def test_empty(self) -> None: def test_no_breaks(self) -> None: result = cpp_common.break_type_in_lines("const int") - self.assertEqual(result, "const int") + self.assertEqual("const int", result) def test_breaks(self) -> None: result = cpp_common.break_type_in_lines( "std::optional > >&" ) self.assertEqual( - result, - f"""\ + """\ std::optional< std::vector< std::shared_ptr< IEmbeddedDataSpecification > > >&""", + result, ) diff --git a/tests/cpp/test_yielding.py b/tests/cpp/test_yielding.py index e8e29e574..a9624564d 100644 --- a/tests/cpp/test_yielding.py +++ b/tests/cpp/test_yielding.py @@ -1,3 +1,5 @@ +# pylint: disable=missing-docstring + import unittest from aas_core_codegen.common import Identifier @@ -45,7 +47,7 @@ def test_inspired_by_verificator(self) -> None: condition="instance_.prop0.HasValue()", body=[ yielding_flow.command_from_text( - f"""\ + """\ verification = VerifyConstrainedPrimitive(instance_.prop0.Value()); iterator_ = verification.Begin(); iterator_end_ = verification.End();""" @@ -59,7 +61,7 @@ def test_inspired_by_verificator(self) -> None: ], ), yielding_flow.command_from_text( - f"""\ + """\ iterator_.reset(); iterator_end_.reset();""" ), @@ -69,7 +71,7 @@ def test_inspired_by_verificator(self) -> None: condition="instance_.prop1.HasValue()", body=[ yielding_flow.command_from_text( - f"""\ + """\ verification = VerifyConstrainedPrimitive(instance_.prop1.Value()); iterator_ = verification.Begin(); iterator_end_ = verification.End();""" @@ -83,14 +85,14 @@ def test_inspired_by_verificator(self) -> None: ], ), yielding_flow.command_from_text( - f"""\ + """\ iterator_.reset(); iterator_end_.reset();""" ), ], ), yielding_flow.command_from_text( - f"""\ + """\ error_.Reset(); Finalize();""" ), @@ -103,102 +105,116 @@ def test_inspired_by_verificator(self) -> None: """\ while (true) { switch (state_) { - case 0: + case 0: { if (CheckInvariant0()) { state_ = 1; + continue; } - continue; error_ = ErrorForInvariant0(); state_ = 1; return; + } - case 1: + case 1: { if (CheckInvariant1()) { state_ = 2; + continue; } - continue; error_ = ErrorForInvariant1(); state_ = 2; return; + } - case 2: + case 2: { if (!(instance_.prop0.HasValue())) { state_ = 6; + continue; } - continue; verification = VerifyConstrainedPrimitive(instance_.prop0.Value()); iterator_ = verification.Begin(); iterator_end_ = verification.End(); + } - case 3: + case 3: { if (!(iterator_ != iterator_end_)) { state_ = 5; + continue; } - continue; error_ = *iterator_; state_ = 4; return; + } - case 4: + case 4: { ++iterator_ state_ = 3; continue; + } - case 5: + case 5: { iterator_.reset(); iterator_end_.reset(); + } - case 6: + case 6: { if (!(instance_.prop1.HasValue())) { state_ = 10; + continue; } - continue; verification = VerifyConstrainedPrimitive(instance_.prop1.Value()); iterator_ = verification.Begin(); iterator_end_ = verification.End(); + } - case 7: + case 7: { if (!(iterator_ != iterator_end_)) { state_ = 9; + continue; } - continue; error_ = *iterator_; state_ = 8; return; + } - case 8: + case 8: { ++iterator_ state_ = 7; continue; + } - case 9: + case 9: { iterator_.reset(); iterator_end_.reset(); + } - case 10: + case 10: { error_.Reset(); Finalize(); // We invalidate the state since we reached the end of the routine. state_ = 11; return; + } default: - std::stringstream ss; - ss << "Invalid state_: " << state_; - throw std::logic_error(ss.str()); + throw std::logic_error( + common::Concat( + "Invalid state_: ", + std::to_string(state_) + ) + ); } }""", code,