14 #ifndef LLVM_OBJECT_MACHOUNIVERSAL_H
15 #define LLVM_OBJECT_MACHOUNIVERSAL_H
30 virtual void anchor();
32 uint32_t NumberOfObjects;
50 return (Parent == Other.Parent) && (Index == Other.Index);
77 return Obj == Other.Obj;
80 return !(*
this ==
Other);
ErrorOr< std::unique_ptr< Archive > > getAsArchive() const
Represents either an error or a value T.
std::string getArchTypeName() const
This provides a very simple, boring adaptor for a begin and end iterator into a range type...
ObjectForArch(const MachOUniversalBinary *Parent, uint32_t Index)
uint32_t getCPUSubType() const
bool operator==(const object_iterator &Other) const
uint32_t getCPUType() const
uint32_t getOffset() const
bool operator==(const ObjectForArch &Other) const
object_iterator(const ObjectForArch &Obj)
iterator_range< object_iterator > objects() const
unsigned getArch() const override
ErrorOr< std::unique_ptr< MachOObjectFile > > getAsObjectFile() const
ErrorOr< std::unique_ptr< MachOObjectFile > > getObjectForArch(StringRef ArchName) const
uint32_t getAlign() const
const ObjectForArch & operator*() const
bool operator!=(const object_iterator &Other) const
static ErrorOr< std::unique_ptr< MachOUniversalBinary > > create(MemoryBufferRef Source)
const ObjectForArch * operator->() const
Triple - Helper class for working with autoconf configuration names.
object_iterator & operator++()
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
object_iterator end_objects() const
A range adaptor for a pair of iterators.
ObjectForArch getNext() const
StringRef getArchName() const
getArchName - Get the architecture (first) component of the triple.
MachOUniversalBinary(MemoryBufferRef Souce, std::error_code &EC)
object_iterator begin_objects() const
static bool classof(Binary const *V)
Provides ErrorOr<T> smart pointer.
StringRef - Represent a constant reference to a string, i.e.
bool isMachOUniversalBinary() const
uint32_t getNumberOfObjects() const