#ifndef LLVM_OBJECT_ARCHIVE_H
#define LLVM_OBJECT_ARCHIVE_H
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/fallible_iterator.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Object/Binary.h"
#include "llvm/Support/Chrono.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MemoryBuffer.h"
#include <cassert>
#include <cstdint>
#include <memory>
#include <string>
#include <vector>
namespace llvm {
namespace object {
const char ArchiveMagic[] = …;
const char ThinArchiveMagic[] = …;
const char BigArchiveMagic[] = …;
class Archive;
class AbstractArchiveMemberHeader { … };
template <typename T>
class CommonArchiveMemberHeader : public AbstractArchiveMemberHeader { … };
struct UnixArMemHdrType { … };
class ArchiveMemberHeader : public CommonArchiveMemberHeader<UnixArMemHdrType> { … };
struct BigArMemHdrType { … };
class BigArchiveMemberHeader
: public CommonArchiveMemberHeader<BigArMemHdrType> { … };
class Archive : public Binary { … };
class BigArchive : public Archive { … };
}
}
#endif