rapidyaml  0.11.1
parse and emit YAML, and do it fast
c4::yml::NodeType Struct Reference

wraps a NodeType_e element with some syntactic sugar and predicates More...

#include <node_type.hpp>

Public Member Functions

 NodeType () noexcept
 
 NodeType (NodeType_e t) noexcept
 
 NodeType (type_bits t) noexcept
 
bool has_any (NodeType_e t) const noexcept
 
bool has_all (NodeType_e t) const noexcept
 
bool has_none (NodeType_e t) const noexcept
 
void set (NodeType_e t) noexcept
 
void add (NodeType_e t) noexcept
 
void rem (NodeType_e t) noexcept
 
void addrem (NodeType_e bits_to_add, NodeType_e bits_to_remove) noexcept
 
void clear () noexcept
 
 operator NodeType_e & () noexcept
 
 operator NodeType_e const & () const noexcept
 
style functions
bool is_container_styled () const noexcept
 
bool is_block () const noexcept
 
bool is_flow_sl () const noexcept
 
bool is_flow_ml () const noexcept
 
bool is_flow () const noexcept
 
bool is_key_styled () const noexcept
 
bool is_val_styled () const noexcept
 
bool is_key_literal () const noexcept
 
bool is_val_literal () const noexcept
 
bool is_key_folded () const noexcept
 
bool is_val_folded () const noexcept
 
bool is_key_squo () const noexcept
 
bool is_val_squo () const noexcept
 
bool is_key_dquo () const noexcept
 
bool is_val_dquo () const noexcept
 
bool is_key_plain () const noexcept
 
bool is_val_plain () const noexcept
 
bool is_key_quoted () const noexcept
 
bool is_val_quoted () const noexcept
 
bool is_quoted () const noexcept
 
NodeType key_style () const noexcept
 
NodeType val_style () const noexcept
 
void set_container_style (NodeType_e style) noexcept
 
void set_key_style (NodeType_e style) noexcept
 
void set_val_style (NodeType_e style) noexcept
 
void clear_style () noexcept
 

Public Attributes

NodeType_e type
 

node type queries

const char * type_str () const noexcept
 return a preset string based on the node type More...
 
csubstr type_str (substr buf) const noexcept
 fill a string with the node type flags. More...
 
bool is_notype () const noexcept
 
bool is_stream () const noexcept
 
bool is_doc () const noexcept
 
bool is_container () const noexcept
 
bool is_map () const noexcept
 
bool is_seq () const noexcept
 
bool has_key () const noexcept
 
bool has_val () const noexcept
 
bool is_val () const noexcept
 
bool is_keyval () const noexcept
 
bool key_is_null () const noexcept
 
bool val_is_null () const noexcept
 
bool has_key_tag () const noexcept
 
bool has_val_tag () const noexcept
 
bool has_key_anchor () const noexcept
 
bool has_val_anchor () const noexcept
 
bool has_anchor () const noexcept
 
bool is_key_ref () const noexcept
 
bool is_val_ref () const noexcept
 
bool is_ref () const noexcept
 
bool is_key_unfiltered () const noexcept
 
bool is_val_unfiltered () const noexcept
 
bool is_key_anchor () const noexcept
 
bool is_val_anchor () const noexcept
 
bool is_anchor () const noexcept
 
bool is_anchor_or_ref () const noexcept
 
static const char * type_str (NodeType_e t) noexcept
 return a preset string based on the node type More...
 
static csubstr type_str (substr buf, NodeType_e t) noexcept
 fill a string with the node type flags. More...
 

Detailed Description

wraps a NodeType_e element with some syntactic sugar and predicates

Definition at line 119 of file node_type.hpp.

Constructor & Destructor Documentation

◆ NodeType() [1/3]

c4::yml::NodeType::NodeType ( )
inlinenoexcept

Definition at line 127 of file node_type.hpp.

127 : type(NOTYPE) {}
@ NOTYPE
no node type or style is set
Definition: node_type.hpp:35
NodeType_e type
Definition: node_type.hpp:123

◆ NodeType() [2/3]

c4::yml::NodeType::NodeType ( NodeType_e  t)
inlinenoexcept

Definition at line 128 of file node_type.hpp.

128 : type(t) {}

◆ NodeType() [3/3]

c4::yml::NodeType::NodeType ( type_bits  t)
inlinenoexcept

Definition at line 129 of file node_type.hpp.

129 : type((NodeType_e)t) {}
NodeType_e
a bit mask for marking node types and styles
Definition: node_type.hpp:33

Member Function Documentation

◆ has_any()

bool c4::yml::NodeType::has_any ( NodeType_e  t) const
inlinenoexcept

Definition at line 131 of file node_type.hpp.

131 { return (type & t) != 0u; }

◆ has_all()

bool c4::yml::NodeType::has_all ( NodeType_e  t) const
inlinenoexcept

Definition at line 132 of file node_type.hpp.

132 { return (type & t) == t; }

◆ has_none()

bool c4::yml::NodeType::has_none ( NodeType_e  t) const
inlinenoexcept

Definition at line 133 of file node_type.hpp.

133 { return (type & t) == 0; }

◆ set()

void c4::yml::NodeType::set ( NodeType_e  t)
inlinenoexcept

Definition at line 135 of file node_type.hpp.

135 { type = t; }

◆ add()

void c4::yml::NodeType::add ( NodeType_e  t)
inlinenoexcept

Definition at line 136 of file node_type.hpp.

136 { type = (type|t); }

◆ rem()

void c4::yml::NodeType::rem ( NodeType_e  t)
inlinenoexcept

Definition at line 137 of file node_type.hpp.

137 { type = (type & ~t); }

◆ addrem()

void c4::yml::NodeType::addrem ( NodeType_e  bits_to_add,
NodeType_e  bits_to_remove 
)
inlinenoexcept

Definition at line 138 of file node_type.hpp.

138 { type |= bits_to_add; type &= ~bits_to_remove; }

◆ clear()

void c4::yml::NodeType::clear ( )
inlinenoexcept

Definition at line 140 of file node_type.hpp.

140 { type = NOTYPE; }

References c4::yml::NOTYPE.

◆ operator NodeType_e &()

c4::yml::NodeType::operator NodeType_e & ( )
inlinenoexcept

Definition at line 144 of file node_type.hpp.

144 { return type; }

◆ operator NodeType_e const &()

c4::yml::NodeType::operator NodeType_e const & ( ) const
inlinenoexcept

Definition at line 145 of file node_type.hpp.

145 { return type; }

◆ type_str() [1/4]

const char* c4::yml::NodeType::type_str ( ) const
inlinenoexcept

return a preset string based on the node type

Definition at line 153 of file node_type.hpp.

153 { return type_str(type); }
const char * type_str() const noexcept
return a preset string based on the node type
Definition: node_type.hpp:153

References type_str().

◆ type_str() [2/4]

const char * c4::yml::NodeType::type_str ( NodeType_e  t)
staticnoexcept

return a preset string based on the node type

Definition at line 6 of file node_type.cpp.

7 {
8  switch(ty & _TYMASK)
9  {
10  case KEYVAL:
11  return "KEYVAL";
12  case KEY:
13  return "KEY";
14  case VAL:
15  return "VAL";
16  case MAP:
17  return "MAP";
18  case SEQ:
19  return "SEQ";
20  case KEYMAP:
21  return "KEYMAP";
22  case KEYSEQ:
23  return "KEYSEQ";
24  case DOCSEQ:
25  return "DOCSEQ";
26  case DOCMAP:
27  return "DOCMAP";
28  case DOCVAL:
29  return "DOCVAL";
30  case DOC:
31  return "DOC";
32  case STREAM:
33  return "STREAM";
34  case NOTYPE:
35  return "NOTYPE";
36  default:
37  if((ty & KEYVAL) == KEYVAL)
38  return "KEYVAL***";
39  if((ty & KEYMAP) == KEYMAP)
40  return "KEYMAP***";
41  if((ty & KEYSEQ) == KEYSEQ)
42  return "KEYSEQ***";
43  if((ty & DOCSEQ) == DOCSEQ)
44  return "DOCSEQ***";
45  if((ty & DOCMAP) == DOCMAP)
46  return "DOCMAP***";
47  if((ty & DOCVAL) == DOCVAL)
48  return "DOCVAL***";
49  if(ty & KEY)
50  return "KEY***";
51  if(ty & VAL)
52  return "VAL***";
53  if(ty & MAP)
54  return "MAP***";
55  if(ty & SEQ)
56  return "SEQ***";
57  if(ty & DOC)
58  return "DOC***";
59  return "(unk)";
60  }
61 }
@ MAP
a map: a parent of KEYVAL/KEYSEQ/KEYMAP nodes
Definition: node_type.hpp:38
@ STREAM
a stream: a seq of docs
Definition: node_type.hpp:41
@ KEY
is member of a map
Definition: node_type.hpp:36
@ VAL
a scalar: has a scalar (ie string) value, possibly empty. must be a leaf node, and cannot be MAP or S...
Definition: node_type.hpp:37
@ _TYMASK
all the bits up to here
Definition: node_type.hpp:50
@ SEQ
a seq: a parent of VAL/SEQ/MAP nodes
Definition: node_type.hpp:39
@ DOC
a document
Definition: node_type.hpp:40

References c4::yml::_TYMASK, c4::yml::DOC, c4::yml::DOCMAP, c4::yml::DOCSEQ, c4::yml::DOCVAL, c4::yml::KEY, c4::yml::KEYMAP, c4::yml::KEYSEQ, c4::yml::KEYVAL, c4::yml::MAP, c4::yml::NOTYPE, c4::yml::SEQ, c4::yml::STREAM, and c4::yml::VAL.

◆ type_str() [3/4]

csubstr c4::yml::NodeType::type_str ( substr  buf) const
inlinenoexcept

fill a string with the node type flags.

If the string is small, returns {null, len}

Definition at line 158 of file node_type.hpp.

158 { return type_str(buf, type); }

References type_str().

◆ type_str() [4/4]

csubstr c4::yml::NodeType::type_str ( substr  buf,
NodeType_e  t 
)
staticnoexcept

fill a string with the node type flags.

If the string is small, returns {null, len}

Definition at line 63 of file node_type.cpp.

64 {
65  size_t pos = 0;
66  bool gotone = false;
67 
68  #define _prflag(fl, txt) \
69  do { \
70  if((flags & (fl)) == (fl)) \
71  { \
72  if(gotone) \
73  { \
74  if(pos + 1 < buf.len) \
75  buf[pos] = '|'; \
76  ++pos; \
77  } \
78  csubstr fltxt = txt; \
79  if(pos + fltxt.len <= buf.len) \
80  memcpy(buf.str + pos, fltxt.str, fltxt.len); \
81  pos += fltxt.len; \
82  gotone = true; \
83  flags = (flags & ~(fl)); /*remove the flag*/ \
84  } \
85  } while(0)
86 
87  _prflag(STREAM, "STREAM");
88  _prflag(DOC, "DOC");
89  // key properties
90  _prflag(KEY, "KEY");
91  _prflag(KEYNIL, "KNIL");
92  _prflag(KEYTAG, "KTAG");
93  _prflag(KEYANCH, "KANCH");
94  _prflag(KEYREF, "KREF");
95  _prflag(KEY_LITERAL, "KLITERAL");
96  _prflag(KEY_FOLDED, "KFOLDED");
97  _prflag(KEY_SQUO, "KSQUO");
98  _prflag(KEY_DQUO, "KDQUO");
99  _prflag(KEY_PLAIN, "KPLAIN");
100  _prflag(KEY_UNFILT, "KUNFILT");
101  // val properties
102  _prflag(VAL, "VAL");
103  _prflag(VALNIL, "VNIL");
104  _prflag(VALTAG, "VTAG");
105  _prflag(VALANCH, "VANCH");
106  _prflag(VALREF, "VREF");
107  _prflag(VAL_UNFILT, "VUNFILT");
108  _prflag(VAL_LITERAL, "VLITERAL");
109  _prflag(VAL_FOLDED, "VFOLDED");
110  _prflag(VAL_SQUO, "VSQUO");
111  _prflag(VAL_DQUO, "VDQUO");
112  _prflag(VAL_PLAIN, "VPLAIN");
113  _prflag(VAL_UNFILT, "VUNFILT");
114  // container properties
115  _prflag(MAP, "MAP");
116  _prflag(SEQ, "SEQ");
117  _prflag(FLOW_SL, "FLOWSL");
118  _prflag(FLOW_ML, "FLOWML");
119  _prflag(BLOCK, "BLCK");
120  if(pos == 0)
121  _prflag(NOTYPE, "NOTYPE");
122 
123  #undef _prflag
124 
125  if(pos < buf.len)
126  {
127  buf[pos] = '\0';
128  return buf.first(pos);
129  }
130  else
131  {
132  csubstr failed;
133  failed.len = pos + 1;
134  failed.str = nullptr;
135  return failed;
136  }
137 }
@ VALANCH
the val has an &anchor
Definition: node_type.hpp:45
@ KEY_DQUO
mark key scalar as double quoted "
Definition: node_type.hpp:68
@ VALREF
a *reference: the val references an &anchor
Definition: node_type.hpp:43
@ VALNIL
the val is null (eg {a : } results in a null val)
Definition: node_type.hpp:49
@ VAL_FOLDED
mark val scalar as multiline, block folded >
Definition: node_type.hpp:65
@ KEYTAG
the key has a tag
Definition: node_type.hpp:46
@ FLOW_SL
mark container with single-line flow style (seqs as '[val1,val2], maps as '{key: val,...
Definition: node_type.hpp:59
@ FLOW_ML
mark container with multi-line flow style (seqs as '[ val1, val2 ], maps as '{ key: val,...
Definition: node_type.hpp:60
@ VAL_UNFILT
the val scalar was left unfiltered; the parser was set not to filter.
Definition: node_type.hpp:55
@ VALTAG
the val has a tag
Definition: node_type.hpp:47
@ VAL_SQUO
mark val scalar as single quoted '
Definition: node_type.hpp:67
@ VAL_PLAIN
mark val scalar as plain scalar (unquoted, even when multiline)
Definition: node_type.hpp:71
@ KEYREF
a *reference: the key references an &anchor
Definition: node_type.hpp:42
@ BLOCK
mark container with block style (seqs as '- val ', maps as 'key: val')
Definition: node_type.hpp:61
@ KEYANCH
the key has an &anchor
Definition: node_type.hpp:44
@ VAL_DQUO
mark val scalar as double quoted "
Definition: node_type.hpp:69
@ KEY_UNFILT
the key scalar was left unfiltered; the parser was set not to filter.
Definition: node_type.hpp:54
@ KEY_SQUO
mark key scalar as single quoted '
Definition: node_type.hpp:66
@ VAL_LITERAL
mark val scalar as multiline, block literal |
Definition: node_type.hpp:63
@ KEY_LITERAL
mark key scalar as multiline, block literal |
Definition: node_type.hpp:62
@ KEY_PLAIN
mark key scalar as plain scalar (unquoted, even when multiline)
Definition: node_type.hpp:70
@ KEY_FOLDED
mark key scalar as multiline, block folded >
Definition: node_type.hpp:64
@ KEYNIL
the key is null (eg { : b} results in a null key)
Definition: node_type.hpp:48
#define _prflag(fl, txt)

References _prflag, c4::yml::BLOCK, c4::yml::DOC, c4::yml::FLOW_ML, c4::yml::FLOW_SL, c4::yml::KEY, c4::yml::KEY_DQUO, c4::yml::KEY_FOLDED, c4::yml::KEY_LITERAL, c4::yml::KEY_PLAIN, c4::yml::KEY_SQUO, c4::yml::KEY_UNFILT, c4::yml::KEYANCH, c4::yml::KEYNIL, c4::yml::KEYREF, c4::yml::KEYTAG, c4::yml::MAP, c4::yml::NOTYPE, c4::yml::SEQ, c4::yml::STREAM, c4::yml::VAL, c4::yml::VAL_DQUO, c4::yml::VAL_FOLDED, c4::yml::VAL_LITERAL, c4::yml::VAL_PLAIN, c4::yml::VAL_SQUO, c4::yml::VAL_UNFILT, c4::yml::VALANCH, c4::yml::VALNIL, c4::yml::VALREF, and c4::yml::VALTAG.

◆ is_notype()

bool c4::yml::NodeType::is_notype ( ) const
inlinenoexcept

Definition at line 167 of file node_type.hpp.

167 { return type == NOTYPE; }

References c4::yml::NOTYPE.

◆ is_stream()

bool c4::yml::NodeType::is_stream ( ) const
inlinenoexcept

Definition at line 168 of file node_type.hpp.

168 { return ((type & STREAM) == STREAM) != 0; }

References c4::yml::STREAM.

◆ is_doc()

bool c4::yml::NodeType::is_doc ( ) const
inlinenoexcept

Definition at line 169 of file node_type.hpp.

169 { return (type & DOC) != 0; }

References c4::yml::DOC.

◆ is_container()

bool c4::yml::NodeType::is_container ( ) const
inlinenoexcept

Definition at line 170 of file node_type.hpp.

170 { return (type & (MAP|SEQ|STREAM)) != 0; }

References c4::yml::MAP, c4::yml::SEQ, and c4::yml::STREAM.

◆ is_map()

bool c4::yml::NodeType::is_map ( ) const
inlinenoexcept

Definition at line 171 of file node_type.hpp.

171 { return (type & MAP) != 0; }

References c4::yml::MAP.

◆ is_seq()

bool c4::yml::NodeType::is_seq ( ) const
inlinenoexcept

Definition at line 172 of file node_type.hpp.

172 { return (type & SEQ) != 0; }

References c4::yml::SEQ.

◆ has_key()

bool c4::yml::NodeType::has_key ( ) const
inlinenoexcept

Definition at line 173 of file node_type.hpp.

173 { return (type & KEY) != 0; }

References c4::yml::KEY.

◆ has_val()

bool c4::yml::NodeType::has_val ( ) const
inlinenoexcept

Definition at line 174 of file node_type.hpp.

174 { return (type & VAL) != 0; }

References c4::yml::VAL.

◆ is_val()

bool c4::yml::NodeType::is_val ( ) const
inlinenoexcept

Definition at line 175 of file node_type.hpp.

175 { return (type & KEYVAL) == VAL; }

References c4::yml::KEYVAL, and c4::yml::VAL.

◆ is_keyval()

bool c4::yml::NodeType::is_keyval ( ) const
inlinenoexcept

Definition at line 176 of file node_type.hpp.

176 { return (type & KEYVAL) == KEYVAL; }

References c4::yml::KEYVAL.

◆ key_is_null()

bool c4::yml::NodeType::key_is_null ( ) const
inlinenoexcept

Definition at line 177 of file node_type.hpp.

177 { return (type & KEYNIL) != 0; }

References c4::yml::KEYNIL.

◆ val_is_null()

bool c4::yml::NodeType::val_is_null ( ) const
inlinenoexcept

Definition at line 178 of file node_type.hpp.

178 { return (type & VALNIL) != 0; }

References c4::yml::VALNIL.

◆ has_key_tag()

bool c4::yml::NodeType::has_key_tag ( ) const
inlinenoexcept

Definition at line 179 of file node_type.hpp.

179 { return (type & KEYTAG) != 0; }

References c4::yml::KEYTAG.

◆ has_val_tag()

bool c4::yml::NodeType::has_val_tag ( ) const
inlinenoexcept

Definition at line 180 of file node_type.hpp.

180 { return (type & VALTAG) != 0; }

References c4::yml::VALTAG.

◆ has_key_anchor()

bool c4::yml::NodeType::has_key_anchor ( ) const
inlinenoexcept

Definition at line 181 of file node_type.hpp.

181 { return (type & KEYANCH) != 0; }

References c4::yml::KEYANCH.

◆ has_val_anchor()

bool c4::yml::NodeType::has_val_anchor ( ) const
inlinenoexcept

Definition at line 182 of file node_type.hpp.

182 { return (type & VALANCH) != 0; }

References c4::yml::VALANCH.

◆ has_anchor()

bool c4::yml::NodeType::has_anchor ( ) const
inlinenoexcept

Definition at line 183 of file node_type.hpp.

183 { return (type & (KEYANCH|VALANCH)) != 0; }

References c4::yml::KEYANCH, and c4::yml::VALANCH.

◆ is_key_ref()

bool c4::yml::NodeType::is_key_ref ( ) const
inlinenoexcept

Definition at line 184 of file node_type.hpp.

184 { return (type & KEYREF) != 0; }

References c4::yml::KEYREF.

◆ is_val_ref()

bool c4::yml::NodeType::is_val_ref ( ) const
inlinenoexcept

Definition at line 185 of file node_type.hpp.

185 { return (type & VALREF) != 0; }

References c4::yml::VALREF.

◆ is_ref()

bool c4::yml::NodeType::is_ref ( ) const
inlinenoexcept

Definition at line 186 of file node_type.hpp.

186 { return (type & (KEYREF|VALREF)) != 0; }

References c4::yml::KEYREF, and c4::yml::VALREF.

◆ is_key_unfiltered()

bool c4::yml::NodeType::is_key_unfiltered ( ) const
inlinenoexcept

Definition at line 188 of file node_type.hpp.

188 { return (type & (KEY_UNFILT)) != 0; }

References c4::yml::KEY_UNFILT.

◆ is_val_unfiltered()

bool c4::yml::NodeType::is_val_unfiltered ( ) const
inlinenoexcept

Definition at line 189 of file node_type.hpp.

189 { return (type & (VAL_UNFILT)) != 0; }

References c4::yml::VAL_UNFILT.

◆ is_key_anchor()

bool c4::yml::NodeType::is_key_anchor ( ) const
inlinenoexcept

Definition at line 191 of file node_type.hpp.

191 { return has_key_anchor(); }
bool has_key_anchor() const noexcept
Definition: node_type.hpp:181

◆ is_val_anchor()

bool c4::yml::NodeType::is_val_anchor ( ) const
inlinenoexcept

Definition at line 192 of file node_type.hpp.

192 { return has_val_anchor(); }
bool has_val_anchor() const noexcept
Definition: node_type.hpp:182

◆ is_anchor()

bool c4::yml::NodeType::is_anchor ( ) const
inlinenoexcept

Definition at line 193 of file node_type.hpp.

193 { return has_anchor(); }
bool has_anchor() const noexcept
Definition: node_type.hpp:183

◆ is_anchor_or_ref()

bool c4::yml::NodeType::is_anchor_or_ref ( ) const
inlinenoexcept

Definition at line 194 of file node_type.hpp.

194 { return has_anchor() || is_ref(); }
bool is_ref() const noexcept
Definition: node_type.hpp:186

◆ is_container_styled()

bool c4::yml::NodeType::is_container_styled ( ) const
inlinenoexcept

Definition at line 202 of file node_type.hpp.

202 { return (type & (CONTAINER_STYLE)) != 0; }
@ CONTAINER_STYLE
Definition: node_type.hpp:96

References c4::yml::CONTAINER_STYLE.

◆ is_block()

bool c4::yml::NodeType::is_block ( ) const
inlinenoexcept

Definition at line 203 of file node_type.hpp.

203 { return (type & (BLOCK)) != 0; }

References c4::yml::BLOCK.

◆ is_flow_sl()

bool c4::yml::NodeType::is_flow_sl ( ) const
inlinenoexcept

Definition at line 204 of file node_type.hpp.

204 { return (type & (FLOW_SL)) != 0; }

References c4::yml::FLOW_SL.

◆ is_flow_ml()

bool c4::yml::NodeType::is_flow_ml ( ) const
inlinenoexcept

Definition at line 205 of file node_type.hpp.

205 { return (type & (FLOW_ML)) != 0; }

References c4::yml::FLOW_ML.

◆ is_flow()

bool c4::yml::NodeType::is_flow ( ) const
inlinenoexcept

Definition at line 206 of file node_type.hpp.

206 { return (type & (FLOW_ML|FLOW_SL)) != 0; }

References c4::yml::FLOW_ML, and c4::yml::FLOW_SL.

◆ is_key_styled()

bool c4::yml::NodeType::is_key_styled ( ) const
inlinenoexcept

Definition at line 208 of file node_type.hpp.

208 { return (type & (KEY_STYLE)) != 0; }
@ KEY_STYLE
mask of all the scalar styles for key (not container styles!)
Definition: node_type.hpp:91

References c4::yml::KEY_STYLE.

◆ is_val_styled()

bool c4::yml::NodeType::is_val_styled ( ) const
inlinenoexcept

Definition at line 209 of file node_type.hpp.

209 { return (type & (VAL_STYLE)) != 0; }
@ VAL_STYLE
mask of all the scalar styles for val (not container styles!)
Definition: node_type.hpp:92

References c4::yml::VAL_STYLE.

◆ is_key_literal()

bool c4::yml::NodeType::is_key_literal ( ) const
inlinenoexcept

Definition at line 210 of file node_type.hpp.

210 { return (type & (KEY_LITERAL)) != 0; }

References c4::yml::KEY_LITERAL.

◆ is_val_literal()

bool c4::yml::NodeType::is_val_literal ( ) const
inlinenoexcept

Definition at line 211 of file node_type.hpp.

211 { return (type & (VAL_LITERAL)) != 0; }

References c4::yml::VAL_LITERAL.

◆ is_key_folded()

bool c4::yml::NodeType::is_key_folded ( ) const
inlinenoexcept

Definition at line 212 of file node_type.hpp.

212 { return (type & (KEY_FOLDED)) != 0; }

References c4::yml::KEY_FOLDED.

◆ is_val_folded()

bool c4::yml::NodeType::is_val_folded ( ) const
inlinenoexcept

Definition at line 213 of file node_type.hpp.

213 { return (type & (VAL_FOLDED)) != 0; }

References c4::yml::VAL_FOLDED.

◆ is_key_squo()

bool c4::yml::NodeType::is_key_squo ( ) const
inlinenoexcept

Definition at line 214 of file node_type.hpp.

214 { return (type & (KEY_SQUO)) != 0; }

References c4::yml::KEY_SQUO.

◆ is_val_squo()

bool c4::yml::NodeType::is_val_squo ( ) const
inlinenoexcept

Definition at line 215 of file node_type.hpp.

215 { return (type & (VAL_SQUO)) != 0; }

References c4::yml::VAL_SQUO.

◆ is_key_dquo()

bool c4::yml::NodeType::is_key_dquo ( ) const
inlinenoexcept

Definition at line 216 of file node_type.hpp.

216 { return (type & (KEY_DQUO)) != 0; }

References c4::yml::KEY_DQUO.

◆ is_val_dquo()

bool c4::yml::NodeType::is_val_dquo ( ) const
inlinenoexcept

Definition at line 217 of file node_type.hpp.

217 { return (type & (VAL_DQUO)) != 0; }

References c4::yml::VAL_DQUO.

◆ is_key_plain()

bool c4::yml::NodeType::is_key_plain ( ) const
inlinenoexcept

Definition at line 218 of file node_type.hpp.

218 { return (type & (KEY_PLAIN)) != 0; }

References c4::yml::KEY_PLAIN.

◆ is_val_plain()

bool c4::yml::NodeType::is_val_plain ( ) const
inlinenoexcept

Definition at line 219 of file node_type.hpp.

219 { return (type & (VAL_PLAIN)) != 0; }

References c4::yml::VAL_PLAIN.

◆ is_key_quoted()

bool c4::yml::NodeType::is_key_quoted ( ) const
inlinenoexcept

Definition at line 220 of file node_type.hpp.

220 { return (type & KEYQUO) != 0; }
@ KEYQUO
key style is one of ', ", > or |
Definition: node_type.hpp:89

References c4::yml::KEYQUO.

◆ is_val_quoted()

bool c4::yml::NodeType::is_val_quoted ( ) const
inlinenoexcept

Definition at line 221 of file node_type.hpp.

221 { return (type & VALQUO) != 0; }
@ VALQUO
val style is one of ', ", > or |
Definition: node_type.hpp:90

References c4::yml::VALQUO.

◆ is_quoted()

bool c4::yml::NodeType::is_quoted ( ) const
inlinenoexcept

Definition at line 222 of file node_type.hpp.

222 { return (type & (KEYQUO|VALQUO)) != 0; }

References c4::yml::KEYQUO, and c4::yml::VALQUO.

◆ key_style()

NodeType c4::yml::NodeType::key_style ( ) const
inlinenoexcept

Definition at line 224 of file node_type.hpp.

224 { return (type & (KEY_STYLE)); }

References c4::yml::KEY_STYLE.

◆ val_style()

NodeType c4::yml::NodeType::val_style ( ) const
inlinenoexcept

Definition at line 225 of file node_type.hpp.

225 { return (type & (VAL_STYLE)); }

References c4::yml::VAL_STYLE.

◆ set_container_style()

void c4::yml::NodeType::set_container_style ( NodeType_e  style)
inlinenoexcept

Definition at line 227 of file node_type.hpp.

227 { type = ((style & CONTAINER_STYLE) | (type & ~CONTAINER_STYLE)); }

References c4::yml::CONTAINER_STYLE.

◆ set_key_style()

void c4::yml::NodeType::set_key_style ( NodeType_e  style)
inlinenoexcept

Definition at line 228 of file node_type.hpp.

228 { type = ((style & KEY_STYLE) | (type & ~KEY_STYLE)); }

References c4::yml::KEY_STYLE.

◆ set_val_style()

void c4::yml::NodeType::set_val_style ( NodeType_e  style)
inlinenoexcept

Definition at line 229 of file node_type.hpp.

229 { type = ((style & VAL_STYLE) | (type & ~VAL_STYLE)); }

References c4::yml::VAL_STYLE.

◆ clear_style()

void c4::yml::NodeType::clear_style ( )
inlinenoexcept

Definition at line 230 of file node_type.hpp.

230 { type &= ~STYLE; }

References c4::yml::STYLE.

Member Data Documentation

◆ type

NodeType_e c4::yml::NodeType::type

Definition at line 123 of file node_type.hpp.


The documentation for this struct was generated from the following files: