//===- YAMLXRayRecord.h - XRay Record YAML Support Definitions ------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Types and traits specialisations for YAML I/O of XRay log entries. // //===----------------------------------------------------------------------===// #ifndef LLVM_XRAY_YAMLXRAYRECORD_H #define LLVM_XRAY_YAMLXRAYRECORD_H #include <type_traits> #include "llvm/Support/YAMLTraits.h" #include "llvm/XRay/XRayRecord.h" namespace llvm { namespace xray { struct YAMLXRayFileHeader { … }; struct YAMLXRayRecord { … }; struct YAMLXRayTrace { … }; } // namespace xray namespace yaml { // YAML Traits // ----------- template <> struct ScalarEnumerationTraits<xray::RecordTypes> { … }; template <> struct MappingTraits<xray::YAMLXRayFileHeader> { … }; template <> struct MappingTraits<xray::YAMLXRayRecord> { … }; template <> struct MappingTraits<xray::YAMLXRayTrace> { … }; } // namespace yaml } // namespace llvm LLVM_YAML_IS_SEQUENCE_VECTOR(xray::YAMLXRayRecord) #endif // LLVM_XRAY_YAMLXRAYRECORD_H