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 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

◆ ~unique_argv()

unique_argv::~unique_argv ( )
inline

References m_argv.

◆ unique_argv() [2/3]

unique_argv::unique_argv ( const unique_argv & other)
delete

◆ unique_argv() [3/3]

unique_argv::unique_argv ( unique_argv && other)
inline

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

References m_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

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


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