16#ifndef LIEF_MACHO_FAT_BINARY_H
17#define LIEF_MACHO_FAT_BINARY_H
60 return binaries_.size();
65 return binaries_.empty();
111 std::unique_ptr<Binary>
take(
size_t index);
119 void write(
const std::string& filename);
122 std::vector<uint8_t>
raw();
Class which represents a MachO binary.
Definition MachO/Binary.hpp:77
Class used to rebuild a Mach-O file.
Definition MachO/Builder.hpp:55
Class which represent a Mach-O (fat) binary This object is also used for representing Mach-O binaries...
Definition FatBinary.hpp:36
it_binaries end()
Definition FatBinary.hpp:75
std::unique_ptr< Binary > pop_back()
Get a pointer to the last MachO::Binary object presents in this Fat Binary. It returns a nullptr if n...
bool empty() const
Checks whether this object contains MachO::Binary.
Definition FatBinary.hpp:64
std::unique_ptr< Binary > take(Header::CPU_TYPE cpu)
Take the underlying MachO::Binary that matches the given architecture If no binary with the architect...
std::vector< uint8_t > raw()
Reconstruct the Fat binary object and return his content as bytes.
FatBinary(const FatBinary &)=delete
friend std::ostream & operator<<(std::ostream &os, const FatBinary &fatbinary)
std::unique_ptr< Binary > take(size_t index)
Extract a MachO::Binary object. Gives ownership to the caller, and remove it from this FatBinary obje...
const Binary * at(size_t index) const
const Binary * back() const
Binary * operator[](size_t index)
Definition FatBinary.hpp:100
it_binaries begin()
Definition FatBinary.hpp:68
it_const_binaries begin() const
Definition FatBinary.hpp:71
std::vector< std::unique_ptr< Binary > > binaries_t
Internal containter used to store Binary objects within a Fat Mach-O.
Definition FatBinary.hpp:45
const Binary * front() const
void write(const std::string &filename)
Reconstruct the Fat binary object and write it in filename
FatBinary & operator=(const FatBinary &)=delete
it_const_binaries end() const
Definition FatBinary.hpp:79
Binary * at(size_t index)
Get a pointer to the MachO::Binary specified by the index. It returns a nullptr if the binary does no...
size_t size() const
Number of MachO::Binary wrapped by this object.
Definition FatBinary.hpp:59
const Binary * operator[](size_t index) const
Definition FatBinary.hpp:103
void release_all_binaries()
The main interface to parse a Mach-O binary.
Definition MachO/Parser.hpp:42
Main interface to parse an executable regardless of its format.
Definition Abstract/Parser.hpp:30
Iterator which returns reference on container's values.
Definition iterators.hpp:48
ref_iterator end() const
Definition iterators.hpp:195
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41