OpenVPN 3 Core Library
Loading...
Searching...
No Matches
string.hpp File Reference
#include <string>
#include <vector>
#include <cstring>
#include <locale>
#include <algorithm>
#include <openvpn/common/platform.hpp>
#include <openvpn/common/size.hpp>
Include dependency graph for string.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openvpn
 
namespace  openvpn::string
 

Functions

int openvpn::string::strcasecmp (const char *s1, const char *s2)
 
int openvpn::string::strcasecmp (const std::string &s1, const char *s2)
 
int openvpn::string::strcasecmp (const char *s1, const std::string &s2)
 
int openvpn::string::strcasecmp (const std::string &s1, const std::string &s2)
 
void openvpn::string::strncpynt (char *dest, const char *src, size_t maxlen)
 
void openvpn::string::copy_fill (void *dest, const std::string &src, const size_t dest_size)
 
bool openvpn::string::is_true (const std::string &str)
 
template<typename STRING >
bool openvpn::string::starts_with (const STRING &str, const std::string &prefix)
 
template<typename STRING >
bool openvpn::string::starts_with (const STRING &str, const char *prefix)
 
template<typename STRING >
bool openvpn::string::starts_with_delim (const STRING &str, const std::string &prefix, const char delim)
 
template<typename STRING >
bool openvpn::string::ends_with (const STRING &str, const std::string &suffix)
 
template<typename STRING >
bool openvpn::string::ends_with (const STRING &str, const char *suffix)
 
template<typename STRING >
bool openvpn::string::ends_with (const STRING &str, const char c)
 
template<typename STRING >
bool openvpn::string::ends_with_newline (const STRING &str)
 
template<typename STRING >
bool openvpn::string::ends_with_crlf (const STRING &str)
 
std::string openvpn::string::add_leading (const std::string &str, const size_t min_len, const char c)
 
std::string openvpn::string::add_trailing_copy (const std::string &str, const char c)
 
void openvpn::string::add_trailing (std::string &str, const char c)
 
void openvpn::string::add_trailing_crlf (std::string &str)
 
std::string openvpn::string::add_trailing_crlf_copy (std::string str)
 
std::string openvpn::string::add_trailing_unless_empty_copy (const std::string &str, const char c)
 
template<typename STRING >
void openvpn::string::trim_crlf (STRING &str)
 
std::string openvpn::string::trim_crlf_copy (std::string str)
 
bool openvpn::string::embedded_null (const char *str, size_t len)
 
size_t openvpn::string::len_without_trailing_nulls (const char *str, size_t len)
 
bool openvpn::string::is_multiline (const std::string &str)
 
std::string openvpn::string::to_delim (const std::string &str, const char delim)
 
std::string openvpn::string::first_line (const std::string &str)
 
bool openvpn::string::is_space (const char c)
 
bool openvpn::string::is_digit (const char c)
 
bool openvpn::string::is_alpha (const char c)
 
bool openvpn::string::is_alphanumeric (const char c)
 
bool openvpn::string::is_printable (const char c)
 
bool openvpn::string::is_printable (const unsigned char c)
 
bool openvpn::string::is_ctrl (const char c)
 
bool openvpn::string::is_ctrl (const unsigned char c)
 
bool openvpn::string::is_word (const std::string &str)
 
bool openvpn::string::is_printable (const std::string &str)
 
bool openvpn::string::contains_non_space_ctrl (const std::string &str)
 
bool openvpn::string::contains_space (const std::string &str)
 
std::string openvpn::string::remove_spaces (const std::string &str)
 
std::string openvpn::string::replace_spaces (const std::string &str, const char rep)
 
std::string openvpn::string::reduce_spaces (const std::string &str, const char rep)
 
std::string openvpn::string::repeat (const char c, size_t n)
 
std::string openvpn::string::spaces (size_t n)
 
std::string openvpn::string::indent (const std::string &str, const int first, const int remaining)
 
std::string openvpn::string::replace_copy (const std::string &str, const char from, const char to)
 
bool openvpn::string::is_empty (const std::string &str)
 
bool openvpn::string::is_empty (const char *str)
 
std::string openvpn::string::unix2dos (const std::string &str, const bool force_eol=false)
 
template<typename T >
std::vector< T > openvpn::string::split (const T &str, const typename T::value_type sep, const int maxsplit=-1)
 
template<class T >
auto openvpn::string::join (const T &strings, const typename T::value_type &delim, const bool tail=false)
 
std::vector< std::string > openvpn::string::from_argv (int argc, char *argv[], const bool skip_first)
 
std::string openvpn::string::trim_left_copy (const std::string &str)
 
std::string openvpn::string::trim_copy (const std::string &str)
 
std::string openvpn::string::to_upper_copy (const std::string &str)
 
std::string openvpn::string::to_lower_copy (const std::string &str)
 
void openvpn::string::trim (std::string &str)
 
void openvpn::string::trim_left (std::string &str)
 
void openvpn::string::to_lower (std::string &str)
 
void openvpn::string::to_upper (std::string &str)
 
std::string openvpn::string::remove_blanks (const std::string &str)
 
std::string openvpn::string::remove_char (const std::string &str, const char remove)