libsshpp v0.1.7
Modern C++17 wrapper for libssh
Loading...
Searching...
No Matches
sshpp::SecureString Class Reference

#include <types.hpp>

Public Types

using storage_type = std::basic_string< char, std::char_traits< char >, detail::ZeroingAllocator< char > >
 

Public Member Functions

 SecureString ()=default
 
 SecureString (const char *s)
 
 SecureString (std::string_view sv)
 
 SecureString (std::string s)
 
const char * c_str () const noexcept
 
std::size_t size () const noexcept
 
bool empty () const noexcept
 
std::string_view view () const noexcept
 

Detailed Description

A string for secrets (passwords, passphrases) that scrubs its buffer on deallocation. Deliberately has no operator<< so it cannot be logged by accident.

Member Typedef Documentation

◆ storage_type

using sshpp::SecureString::storage_type = std::basic_string<char, std::char_traits<char>, detail::ZeroingAllocator<char> >

Constructor & Destructor Documentation

◆ SecureString() [1/4]

sshpp::SecureString::SecureString ( )
default

◆ SecureString() [2/4]

sshpp::SecureString::SecureString ( const char *  s)
inline

◆ SecureString() [3/4]

sshpp::SecureString::SecureString ( std::string_view  sv)
inline

◆ SecureString() [4/4]

sshpp::SecureString::SecureString ( std::string  s)
inline

Member Function Documentation

◆ c_str()

const char * sshpp::SecureString::c_str ( ) const
inlinenoexcept

◆ size()

std::size_t sshpp::SecureString::size ( ) const
inlinenoexcept

◆ empty()

bool sshpp::SecureString::empty ( ) const
inlinenoexcept

◆ view()

std::string_view sshpp::SecureString::view ( ) const
inlinenoexcept

The documentation for this class was generated from the following file: