mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
74217b4fe5
Model classes are now described by a YAML document, which is used to generate C++ headers containing classes and all the boilerplate required for YAML serialization/deserialization, usage in SortedVectors, etc. See the README in include/revng/Model for more info.
45 lines
857 B
C++
45 lines
857 B
C++
#pragma once
|
|
|
|
//
|
|
// This file is distributed under the MIT License. See LICENSE.md for details.
|
|
//
|
|
|
|
#include <cstdint>
|
|
#include <vector>
|
|
|
|
#include "revng/ADT/SortedVector.h"
|
|
|
|
#include "Generated/Early/TestClass.h"
|
|
|
|
/* TUPLE-TREE-YAML
|
|
name: TestClass
|
|
type: struct
|
|
fields:
|
|
- name: RequiredField
|
|
type: uint64_t
|
|
- name: OptionalField
|
|
type: uint64_t
|
|
optional: true
|
|
- name: EnumField
|
|
type: model::TestEnum::Values
|
|
- name: SequenceField
|
|
sequence:
|
|
type: SortedVector
|
|
elementType: uint64_t
|
|
- name: ReferenceField
|
|
reference:
|
|
pointeeType: uint64_t
|
|
rootType: model::TestClass
|
|
key:
|
|
- RequiredField
|
|
TUPLE-TREE-YAML */
|
|
|
|
namespace model {
|
|
class TestClass : public model::generated::TestClass {
|
|
public:
|
|
using model::generated::TestClass::TestClass;
|
|
};
|
|
} // namespace model
|
|
|
|
#include "Generated/Late/TestClass.h"
|