56using ReferenceManager::SafePointer;
57using ReferenceManager::SectionKey;
58using ReferenceManager::FileOffsetKey;
143 if (sect->
aSpace() != NULL) {
148 bool addressSpaceCantBeNull =
false;
149 assert(addressSpaceCantBeNull);
158 if (linkSect != NULL) {
#define assert(condition)
void writeByte(Byte byte)
void writeHalfWord(HalfWord halfword)
unsigned int writePosition()
void setWritePosition(unsigned int position)
void writeWord(Word word)
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
static SectionId getUniqueSectionId()
AddressImage startingAddress() const
bool isProgramSection() const
virtual Chunk * chunk(SectionOffset offset) const
SectionElement * element(Word index) const
virtual bool isChunkable() const
virtual SectionType type() const =0
Returns SectioType of actual section instance.
ASpaceElement * aSpace() const
virtual Word elementSize(const Section *section) const
virtual void writeInfo(BinaryStream &stream, const Section *sect) const
virtual void createKeys(const Section *sect) const
virtual void actualWriteHeader(BinaryStream &stream, const Section *sect) const
virtual void writeSize(BinaryStream &stream, const Section *sect) const
void writeBodyStartOffset(BinaryStream &stream, const Section *sect) const
virtual const BinaryWriter & parent() const
virtual void actualWriteData(BinaryStream &stream, const Section *sect) const
virtual SectionId getSectionId() const
virtual ~TPEFSectionWriter()
static const BinaryWriter & instance()
HalfWord SectionId
Type for storing binary file section ids.
Word SectionOffset
Type for storing offsets relative to a given base offset value.