GCC Middle and Back End API Reference
file_wrapper Struct Reference

#include <pex.h>

Public Types

enum class  ownership { owned , borrowed }

Public Member Functions

 file_wrapper (FILE *file, enum ownership ownership)
 ~file_wrapper ()
std::unique_ptr< std::vector< char > > read_all ()

Data Fields

FILE * m_file
enum ownership m_ownership

Detailed Description

C++ wrapper around libiberty's pex API.
   Copyright (C) 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/>.   

Member Enumeration Documentation

◆ ownership

enum class file_wrapper::ownership
strong
Enumerator
owned 
borrowed 

Constructor & Destructor Documentation

◆ file_wrapper()

file_wrapper::file_wrapper ( FILE * file,
enum ownership ownership )
inline

References m_file, and m_ownership.

◆ ~file_wrapper()

file_wrapper::~file_wrapper ( )
inline

References gcc_assert, m_file, m_ownership, and owned.

Member Function Documentation

◆ read_all()

std::unique_ptr< std::vector< char > > file_wrapper::read_all ( )

Field Documentation

◆ m_file

FILE* file_wrapper::m_file

◆ m_ownership

enum ownership file_wrapper::m_ownership

Referenced by file_wrapper(), and ~file_wrapper().


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