mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 15:52:53 +00:00
28 lines
970 B
C++
28 lines
970 B
C++
#pragma once
|
|
#include "Dumping/AbstractTextDumper.h"
|
|
#include "StructuredDataDef/CommonStructuredDataDef.h"
|
|
|
|
#include <ostream>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
class StructuredDataDefDumper : AbstractTextDumper
|
|
{
|
|
struct
|
|
{
|
|
bool m_empty_line_before_definition : 1;
|
|
} m_flags;
|
|
|
|
void WriteLineComment(const std::string& comment) const;
|
|
|
|
void DumpEnum(const CommonStructuredDataEnum& _enum);
|
|
void DumpType(const CommonStructuredDataDef& def, CommonStructuredDataType type, std::string& typeName, std::vector<std::string>& arraySpecifiers) const;
|
|
void DumpProperty(const CommonStructuredDataDef& def, const CommonStructuredDataStructProperty& property, size_t& currentOffsetInBit) const;
|
|
void DumpStruct(const CommonStructuredDataDef& def, const CommonStructuredDataStruct& _struct, size_t structIndex);
|
|
|
|
public:
|
|
explicit StructuredDataDefDumper(std::ostream& stream);
|
|
|
|
void DumpDef(const CommonStructuredDataDef& def);
|
|
};
|