49using ReferenceManager::SafePointer;
50using ReferenceManager::FileOffsetKey;
51using ReferenceManager::SectionOffsetKey;
52using ReferenceManager::SectionKey;
102 for (; sectOffset < dSection->
length(); sectOffset++) {
107 chunk = dSection->
chunk(sectOffset);
109 bool sectionToBeWrittenIsNotChunkable =
false;
110 assert(sectionToBeWrittenIsNotChunkable);
139 return static_cast<Word
>(
140 ceil(
static_cast<double>(section->
aSpace()->
MAU()) /
#define assert(condition)
void writeByte(Byte byte)
unsigned int writePosition()
virtual Word length() const
virtual Byte byte(const Chunk *chunk) const
virtual Chunk * chunk(SectionOffset offset) const
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
static SectionKey sectionKeyFor(const SafePointable *obj)
static bool isReferenced(const SafePointable *object)
SectionId sectionId() const
static void setSize(const SafePointable *obj, Word size)
static void registerSectionWriter(const SectionWriter *sWriter)
@ ST_DATA
Initialized data section.
ASpaceElement * aSpace() const
virtual Word elementSize(const Section *section) const
virtual Section::SectionType type() const
virtual void actualWriteData(BinaryStream &stream, const Section *sect) const
virtual ~TPEFDataSectionWriter()
static const TPEFDataSectionWriter instance_
Only existing instance of class.
TPEFDataSectionWriter(bool reg=true)
HalfWord SectionId
Type for storing binary file section ids.
Word SectionOffset
Type for storing offsets relative to a given base offset value.
Word FileOffset
Type for storing absolute file offsets.