//
// LDASTools frameCPP - PDF-derived structure definitions
//
// Copyright (C) 2025 California Institute of Technology
//
// AUTO-GENERATED FILE - DO NOT EDIT
// Generated by generate_pdf_definitions.py
//

#ifndef FRAMECPP_PDF_DEFINITIONS_HH
#define FRAMECPP_PDF_DEFINITIONS_HH

#include <map>
#include <string>
#include <vector>

namespace FrameCPP {
namespace PDFDefinitions {

struct FieldDef {
    std::string name;
    std::string type;
    std::string comment;
};

struct StructureDef {
    std::string name;
    std::string comment;
    std::vector<FieldDef> fields;
};

// Map: [version][object_name] -> StructureDef
using DefinitionMap = std::map<unsigned int, std::map<std::string, StructureDef>>;

const DefinitionMap& getDefinitions();

} // namespace PDFDefinitions
} // namespace FrameCPP

#endif // FRAMECPP_PDF_DEFINITIONS_HH
