mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
39 lines
1.0 KiB
C++
39 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "Domain/Definition/DefinitionWithMembers.h"
|
|
#include "Domain/Definition/EnumMember.h"
|
|
#include "Domain/Extension/CustomAction.h"
|
|
#include "Domain/FastFile/FastFileBlock.h"
|
|
#include "MemberInformation.h"
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
class MemberInformation;
|
|
|
|
class StructureInformation
|
|
{
|
|
public:
|
|
explicit StructureInformation(DefinitionWithMembers* definition);
|
|
|
|
DefinitionWithMembers* const m_definition;
|
|
EnumMember* m_asset_enum_entry;
|
|
|
|
std::vector<StructureInformation*> m_usages;
|
|
std::vector<std::unique_ptr<MemberInformation>> m_ordered_members;
|
|
|
|
bool m_is_leaf;
|
|
bool m_requires_marking;
|
|
|
|
bool m_non_embedded_reference_exists;
|
|
bool m_single_pointer_reference_exists;
|
|
bool m_array_pointer_reference_exists;
|
|
bool m_array_reference_exists;
|
|
bool m_reference_from_non_default_normal_block_exists;
|
|
bool m_reusable_reference_exists;
|
|
|
|
std::unique_ptr<CustomAction> m_post_load_action;
|
|
const FastFileBlock* m_block;
|
|
std::vector<MemberInformation*> m_name_chain;
|
|
};
|