General Utility Library for C++17 25.4.1
Namespaces | Functions | Variables
string_util.h File Reference

Detailed Description

Declaration of string utility functions.

Authors
General Utility Library Contributors
Date
Created on 31 August 2018

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the license, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.

#include <array>
#include <iterator>
#include <string_view>
#include <string>
#include "gul17/internal.h"
#include "gul17/traits.h"
Include dependency graph for string_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  gul17
 Namespace gul17 contains all functions and classes of the General Utility Library.
 

Functions

template<typename Integer , std::enable_if_t< std::is_integral< Integer >::value, bool > = true>
std::string gul17::hex_string (Integer v)
 Return the hexadecimal ASCII representation of an integer value.
 
template<typename Iterator >
std::string gul17::hex_string (Iterator begin, Iterator end, std::string_view separator="")
 Return the hexadecimal ASCII representation of a range of integer values.
 
template<typename Integer , size_t num_elements, std::enable_if_t< std::is_integral< Integer >::value, bool > = true>
std::string gul17::hex_string (const Integer(&array)[num_elements], std::string_view separator="")
 Return the hexadecimal ASCII representation of an array with integer values.
 
template<typename Container , std::enable_if_t< IsContainerLike< Container >::value, bool > = true>
std::string gul17::hex_string (const Container &container, std::string_view separator="")
 Return the hexadecimal ASCII representation of a container with integer values.
 
GUL_EXPORT std::string gul17::null_safe_string (const char *char_ptr)
 Safely construct a std::string from a C string or a null pointer.
 
GUL_EXPORT std::string_view gul17::null_safe_string_view (const char *char_ptr)
 Safely construct a string_view from a char pointer.
 
GUL_EXPORT std::string gul17::repeat (std::string_view str, std::size_t n)
 Repeat a string N times.
 
GUL_EXPORT std::string gul17::safe_string (const char *char_ptr, std::size_t length)
 Safely construct a std::string from a char pointer and a length.
 
GUL_EXPORT std::string_view gul17::safe_string_view (const char *char_ptr, std::size_t length)
 Safely construct a string_view from a char pointer and a length.
 

Variables

GUL_EXPORT const std::string_view gul17::default_whitespace_characters { " \t\r\n\a\b\f\v" }
 The default characters that are treated as whitespace by GUL.
 
GUL_EXPORT const std::array< char, 16 > gul17::hex_digits
 The 16 digits for hexadecimal numbers ("0123456789abcdef").