mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-09-08 23:17:05 +00:00
* This causes some pointers to be partially overwritten when filling in the wrong order as well
37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "Domain/Information/MemberInformation.h"
|
|
|
|
#include <vector>
|
|
|
|
class MemberComputations
|
|
{
|
|
public:
|
|
explicit MemberComputations(const MemberInformation* member);
|
|
|
|
[[nodiscard]] bool ShouldIgnore() const;
|
|
[[nodiscard]] bool ContainsNonEmbeddedReference() const;
|
|
[[nodiscard]] bool ContainsSinglePointerReference() const;
|
|
[[nodiscard]] bool ContainsArrayPointerReference() const;
|
|
[[nodiscard]] bool ContainsPointerArrayReference() const;
|
|
[[nodiscard]] bool ContainsArrayReference() const;
|
|
[[nodiscard]] const IEvaluation* GetArrayPointerCountEvaluation() const;
|
|
[[nodiscard]] bool IsArray() const;
|
|
[[nodiscard]] std::vector<int> GetArraySizes() const;
|
|
[[nodiscard]] int GetArrayDimension() const;
|
|
[[nodiscard]] bool IsPointerToArray() const;
|
|
[[nodiscard]] std::vector<int> GetPointerToArraySizes() const;
|
|
[[nodiscard]] int GetPointerDepth() const;
|
|
[[nodiscard]] bool IsNotInDefaultNormalBlock() const;
|
|
[[nodiscard]] bool IsInTempBlock() const;
|
|
[[nodiscard]] bool IsInRuntimeBlock() const;
|
|
[[nodiscard]] bool IsFirstUsedMember(bool includeLeafs) const;
|
|
[[nodiscard]] bool IsLastUsedMember(bool includeLeafs) const;
|
|
[[nodiscard]] bool HasDynamicArraySize() const;
|
|
[[nodiscard]] bool IsDynamicMember() const;
|
|
[[nodiscard]] bool IsAfterPartialLoad() const;
|
|
|
|
private:
|
|
const MemberInformation* const m_info;
|
|
};
|