rapidyaml  0.11.0
parse and emit YAML, and do it fast
Emit to an STL-like ostream

Classes

struct  c4::yml::as_json
 mark a tree or node to be emitted as yaml when using operator<<, with options. More...
 
struct  c4::yml::as_yaml
 mark a tree or node to be emitted as yaml when using operator<< . More...
 

Functions

template<class OStream >
OStream & c4::yml::operator<< (OStream &s, Tree const &t)
 emit YAML to an STL-like ostream More...
 
template<class OStream >
OStream & c4::yml::operator<< (OStream &s, ConstNodeRef const &n)
 emit YAML to an STL-like ostream This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<class OStream >
OStream & c4::yml::operator<< (OStream &s, as_json const &j)
 emit json to an STL-like stream More...
 
template<class OStream >
OStream & c4::yml::operator<< (OStream &s, as_yaml const &y)
 emit yaml to an STL-like stream More...
 

Detailed Description

Function Documentation

◆ operator<<() [1/4]

template<class OStream >
OStream& c4::yml::operator<< ( OStream &  s,
Tree const &  t 
)
inline

emit YAML to an STL-like ostream

Definition at line 520 of file emit.hpp.

521 {
522  EmitterOStream<OStream> em(s);
523  em.emit_as(EMIT_YAML, t);
524  return s;
525 }
@ EMIT_YAML
emit YAML
Definition: emit.hpp:48

References c4::yml::Emitter< Writer >::emit_as(), and c4::yml::EMIT_YAML.

◆ operator<<() [2/4]

template<class OStream >
OStream& c4::yml::operator<< ( OStream &  s,
ConstNodeRef const &  n 
)
inline

emit YAML to an STL-like ostream This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 530 of file emit.hpp.

531 {
532  if(!n.readable())
533  return s;
534  EmitterOStream<OStream> em(s);
535  em.emit_as(EMIT_YAML, n);
536  return s;
537 }

References c4::yml::Emitter< Writer >::emit_as(), c4::yml::EMIT_YAML, and c4::yml::ConstNodeRef::readable().

◆ operator<<() [3/4]

template<class OStream >
OStream& c4::yml::operator<< ( OStream &  s,
as_json const &  j 
)
inline

emit json to an STL-like stream

Definition at line 583 of file emit.hpp.

584 {
585  if(!j.tree || j.tree->empty())
586  return s;
587  EmitterOStream<OStream> em(j.options, s);
588  em.emit_as(EMIT_JSON, *j.tree, j.node != NONE ? j.node : j.tree->root_id(), true);
589  return s;
590 }
@ EMIT_JSON
emit JSON
Definition: emit.hpp:49
@ NONE
an index to none
Definition: common.hpp:251

References c4::yml::Emitter< Writer >::emit_as(), c4::yml::EMIT_JSON, c4::yml::Tree::empty(), c4::yml::as_json::node, c4::yml::NONE, c4::yml::as_json::options, c4::yml::Tree::root_id(), and c4::yml::as_json::tree.

◆ operator<<() [4/4]

template<class OStream >
OStream& c4::yml::operator<< ( OStream &  s,
as_yaml const &  y 
)
inline

emit yaml to an STL-like stream

Definition at line 594 of file emit.hpp.

595 {
596  if(!y.tree || y.tree->empty())
597  return s;
598  EmitterOStream<OStream> em(y.options, s);
599  em.emit_as(EMIT_YAML, *y.tree, y.node != NONE ? y.node : y.tree->root_id(), true);
600  return s;
601 }

References c4::yml::Emitter< Writer >::emit_as(), c4::yml::EMIT_YAML, c4::yml::Tree::empty(), c4::yml::as_yaml::node, c4::yml::NONE, c4::yml::as_yaml::options, c4::yml::Tree::root_id(), and c4::yml::as_yaml::tree.