glibmm: Glib::StdStringView Class Reference

Helper class to avoid unnecessary string copying in function calls. More...

#include <glibmm/ustring.h>

Public Member Functions

 StdStringView (const std::string& s)
 
 StdStringView (const char* s)
 
const char* c_str () const
 

Detailed Description

Helper class to avoid unnecessary string copying in function calls.

A Glib::StdStringView holds a const char pointer. It can be used as an argument type in a function that passes a const char pointer to a C function.

Unlike std::string_view, Glib::StdStringView shall be used only for null-terminated strings.

// can be used instead of
std::string f2(const std::string& s1, const std::string& s2);

The strings are not copied when f1() is called with string literals.

auto r1 = f1("string 1", "string 2");

To pass a Glib::ustring to a function taking a Glib::StdStringView, you may have to use Glib::ustring::c_str().

std::string str = "non-UTF8 string";
Glib::ustring ustr = "UTF8 string";
auto r1 = f1(str, ustr.c_str());
Since glibmm 2.64:

Constructor & Destructor Documentation

Glib::StdStringView::StdStringView ( const std::string s)
inline
Glib::StdStringView::StdStringView ( const char *  s)
inline

Member Function Documentation

const char* Glib::StdStringView::c_str ( ) const
inline