GCC Middle and Back End API Reference
escaped_string Class Reference

#include <escaped_string.h>

Public Member Functions

 escaped_string ()
 
 ~escaped_string ()
 
 operator const char * () const
 
void escape (const char *)
 

Private Member Functions

 escaped_string (const escaped_string &)
 
escaped_stringoperator= (const escaped_string &)
 

Private Attributes

char * m_str
 
bool m_owned
 

Detailed Description

Shared escaped string class. Copyright (C) 1999-2025 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC 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 General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
A class to handle converting a string that might contain control characters, (eg newline, form-feed, etc), into one in which contains escape sequences instead.

Constructor & Destructor Documentation

◆ escaped_string() [1/2]

escaped_string::escaped_string ( )
inline

References m_owned, m_str, and NULL.

Referenced by escaped_string(), and operator=().

◆ ~escaped_string()

escaped_string::~escaped_string ( )
inline

References free(), m_owned, and m_str.

◆ escaped_string() [2/2]

escaped_string::escaped_string ( const escaped_string & )
inlineprivate

References escaped_string().

Member Function Documentation

◆ escape()

void escaped_string::escape ( const char * unescaped)
PR 84195: Replace control characters in "unescaped" with their escaped equivalents. Allow newlines if -fmessage-length has been set to a non-zero value. This is done here, rather than where the attribute is recorded as the message length can change between these two locations.

References free(), global_dc, i, m_owned, m_str, NULL, and pp_is_wrapping_line.

◆ operator const char *()

escaped_string::operator const char * ( ) const
inline

References m_str.

◆ operator=()

escaped_string & escaped_string::operator= ( const escaped_string & )
inlineprivate

References escaped_string().

Field Documentation

◆ m_owned

bool escaped_string::m_owned
private

◆ m_str

char* escaped_string::m_str
private

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