/**
 * @file modules/generated/module_string_generated.h
 * @brief Definition of module_string written in array. Generated by json_to_array.py
 * @copyright (c) 2021 Avast Software, licensed under the MIT license
 */
 #pragma once

 #include "yaramod/types/modules/module_content.h"

 namespace yaramod {

 namespace modules {

 class Gmodule_string : public ModuleContent
 {
 public:
    static constexpr std::size_t module_content_size = 1269;
    static constexpr const char* module_content_parts[] = {
"{\"kind\": \"struct\", \"name\": \"string\", \"attributes\": [{\"kind\": \"function\", \"name\": \"to_int\", \"return_type\": \"i\", \"overloads\": [{\"arguments\": [{\"type\": \"s\", \"name\": \"string\"}], \"documentation\": \"Convert the given string to a signed integer. If the string starts with \\\"0x\\\" it is treated as base 16. If the string starts with \\\"0\\\" it is treated base 8. Leading '+' or '-' is also supported. Example: ```\\nstring.to_int(\\\"1234\\\") == 1234\\nstring.to_int(\\\"-10\\\") == -10\\nstring.to_int(\\\"-010\\\") == -8\\n```\"}, {\"arguments\": [{\"type\": \"s\", \"name\": \"string\"}, {\"type\": \"i\", \"name\": \"base\"}], \"documentation\": \"Convert the given string, interpreted with the given base, to a signed integer. Base must be 0 or between 2 and 36 inclusive. If it is zero then the string will be intrepreted as base 16 if it starts with \\\"0x\\\" or as base 8 if it starts with \\\"0\\\". Leading '+' or '-' is also supported. Example: ```\\nstring.to_int(\\\"011\\\", 8) == 9\\nstring.to_int(\\\"-011\\\", 0) == -9\\n```\"}]}, {\"kind\": \"function\", \"name\": \"length\", \"retu",
"rn_type\": \"i\", \"overloads\": [{\"arguments\": [{\"type\": \"s\", \"name\": \"string\"}], \"documentation\": \"Return the length of the string, which can be any sequence of bytes. NULL bytes included. Example: ```\\nstring.length(\\\"AXSx00ERS\\\") == 7\\n```\"}]}]}"
    };

    Gmodule_string() : ModuleContent("string")
    {
        std::string content;
        content.reserve(module_content_size);
        for (std::size_t i = 0; i < 2; ++i)
            content += module_content_parts[i];
        setContent(std::move(content));
    }
 };

 } // namespace modules

 } // namespace yaramod
