29#ifndef NOMLIB_CORE_STRINGS_HPP
30#define NOMLIB_CORE_STRINGS_HPP
32#include "nomlib/config.hpp"
43const nom::size_type MAX_STRING_LENGTH = 255;
60create_string(
const char* str, nom::size_type num_bytes);
76create_string(
const char* str);
100int string_to_int(
const char* str,
int input_base);
124uint string_to_uint(
const char* str,
int input_base);
143int string_to_int(
const char* str);
162uint string_to_uint(
const char* str);
164const char* integer_to_cstr(
int number);
165std::string integer_to_string(
int number);
167nom::size_type string_length(
const char* str);
168nom::size_type string_length(
const std::string& str);
171compare_cstr_insensitive(
const char* str1,
const char* str2,
174int compare_cstr_insensitive(
const char* str1,
const char* str2);
177compare_cstr_sensitive(
const char* str1,
const char* str2,
180int compare_cstr_sensitive(
const char* str1,
const char* str2);
183compare_string_insensitive(
const std::string& str1,
const std::string& str2,
185int compare_string_insensitive(
const std::string& str1,
const std::string& str2);
188compare_string_sensitive(
const std::string& str1,
const std::string& str2,
190int compare_string_sensitive(
const std::string& str1,
const std::string& str2);
192void copy_string(
const char* source,
char* dest);
201const char* duplicate_string(
const char* str, nom::size_type length);
203const char* duplicate_string(
const std::string& str, nom::size_type length);
205void free_string(
const char* ptr);
207const char* to_lowercase_cstr(
const char* str, nom::size_type len);
208const char* to_lowercase_cstr(
const char* str);
210std::string to_lowercase_string(
const std::string& str, nom::size_type len);
211std::string to_lowercase_string(
const std::string& str);
213const char* to_uppercase_cstr(
const char* str, nom::size_type len);
214const char* to_uppercase_cstr(
const char* str);
216std::string to_uppercase_string(
const std::string& str, nom::size_type len);
217std::string to_uppercase_string(
const std::string& str);