1#ifndef SOURCEMETA_CORE_YAML_ROUNDTRIP_H_
2#define SOURCEMETA_CORE_YAML_ROUNDTRIP_H_
4#ifndef SOURCEMETA_CORE_YAML_EXPORT
5#include <sourcemeta/core/yaml_export.h>
8#include <sourcemeta/core/json.h>
9#include <sourcemeta/core/jsonpointer.h>
14#include <unordered_map>
17namespace sourcemeta::core {
23#pragma warning(disable : 4251 4275)
97 std::unordered_map<Pointer, NodeStyle, Pointer::Hasher>
styles;
99 std::unordered_map<Pointer, std::string, Pointer::Hasher>
aliases;
101 std::unordered_map<Pointer, ScalarStyle, Pointer::Hasher>
key_styles;
125#pragma warning(default : 4251 4275)
@ Plain
Definition oauth_pkce.h:25
std::unordered_map< Pointer, std::string, Pointer::Hasher > key_quoted_contents
The original quoted content for each mapping key.
Definition yaml_roundtrip.h:103
CollectionStyle
The presentation style of a collection.
Definition yaml_roundtrip.h:46
std::vector< std::string > pre_end_comments
The comments preceding the document end marker.
Definition yaml_roundtrip.h:117
std::vector< std::string > post_start_comments
The comments following the document start marker.
Definition yaml_roundtrip.h:115
std::unordered_map< Pointer, NodeStyle, Pointer::Hasher > styles
The recorded formatting for each node by pointer.
Definition yaml_roundtrip.h:97
std::unordered_map< Pointer, std::string, Pointer::Hasher > aliases
The alias name for each node referencing an anchor.
Definition yaml_roundtrip.h:99
std::optional< std::string > document_start_comment
The comment on the document start marker.
Definition yaml_roundtrip.h:109
Chomping
The chomping behavior applied to a block scalar.
Definition yaml_roundtrip.h:54
std::size_t indent_width
The indentation width used when emitting the document.
Definition yaml_roundtrip.h:121
std::vector< std::string > trailing_comments
The comments following the document.
Definition yaml_roundtrip.h:119
bool explicit_document_end
Whether the document ends with an explicit end marker.
Definition yaml_roundtrip.h:107
std::unordered_map< Pointer, ScalarStyle, Pointer::Hasher > key_styles
The scalar style for each mapping key by pointer.
Definition yaml_roundtrip.h:101
std::vector< std::string > leading_comments
The comments preceding the document.
Definition yaml_roundtrip.h:113
bool explicit_document_start
Whether the document begins with an explicit start marker.
Definition yaml_roundtrip.h:105
std::optional< std::string > document_end_comment
The comment on the document end marker.
Definition yaml_roundtrip.h:111
ScalarStyle
The presentation style of a scalar value.
Definition yaml_roundtrip.h:32