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 namespace mcld { 13 14 class Input; 15 16 /** \class LDReader 17 * \brief LDReader provides the basic interfaces for all readers. It also 18 * provides basic functions to read data stream. 19 */ 20 class LDReader { 21 public: 22 enum Endian { LittleEndian, BigEndian }; 23 24 protected: LDReader()25 LDReader() {} 26 27 public: ~LDReader()28 virtual ~LDReader() {} 29 30 virtual bool isMyFormat(Input& pInput, bool& pContinue) const = 0; 31 }; 32 33 } // namespace mcld 34 35 #endif // MCLD_LD_LDREADER_H_ 36