1 //===- LDReader.h ---------------------------------------------------------===// 2 // 3 // The MCLinker Project 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 #ifndef MCLD_LD_LDREADER_H 10 #define MCLD_LD_LDREADER_H 11 12 #include <llvm/Support/DataTypes.h> 13 14 namespace mcld 15 { 16 17 class Input; 18 19 /** \class LDReader 20 * \brief LDReader provides the basic interfaces for all readers. It also 21 * provides basic functions to read data stream. 22 */ 23 class LDReader 24 { 25 public: 26 enum Endian { 27 LittleEndian, 28 BigEndian 29 }; 30 31 protected: LDReader()32 LDReader() { } 33 34 public: ~LDReader()35 virtual ~LDReader() { } 36 37 virtual bool isMyFormat(Input& pInput, bool &pContinue) const = 0; 38 39 }; 40 41 } // namespace of mcld 42 43 #endif 44 45