GCC Middle and Back End API Reference
unique_argv Struct Reference

#include <unique-argv.h>

Public Member Functions

 unique_argv (char **argv)
 ~unique_argv ()
 unique_argv (const unique_argv &other)=delete
unique_argvoperator= (const unique_argv &other)=delete
 unique_argv (unique_argv &&other)
unique_argvoperator= (unique_argv &&other)
char ** release ()

Data Fields

char ** m_argv

Detailed Description

C++11 wrapper around libiberty's argv.c Copyright (C) 2024-2025 Free Software Foundation, Inc. Contributed by David Malcolm <dmalcolm@redhat.com> 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/>.
C++11 wrapper around libiberty's argv.c, with ownership of the underlying array and strings.

Constructor & Destructor Documentation

◆ unique_argv() [1/3]

unique_argv::unique_argv ( char ** argv)
inline

References m_argv.

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

◆ ~unique_argv()

unique_argv::~unique_argv ( )
inline

References m_argv.

◆ unique_argv() [2/3]

unique_argv::unique_argv ( const unique_argv & other)
delete

References unique_argv().

◆ unique_argv() [3/3]

unique_argv::unique_argv ( unique_argv && other)
inline

References m_argv, and unique_argv().

Member Function Documentation

◆ operator=() [1/2]

unique_argv & unique_argv::operator= ( const unique_argv & other)
delete

References unique_argv().

◆ operator=() [2/2]

unique_argv & unique_argv::operator= ( unique_argv && other)
inline

References m_argv, and unique_argv().

◆ release()

char ** unique_argv::release ( )
inline

References m_argv.

Referenced by diagnostic_context::set_original_argv().

Field Documentation

◆ m_argv

char** unique_argv::m_argv

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