bool IsAnchorChar()

in lib/yamlcpp/src/emitterutils.cpp [20:62]


bool IsAnchorChar(int ch) {  // test for ns-anchor-char
  switch (ch) {
    case ',':
    case '[':
    case ']':
    case '{':
    case '}':  // c-flow-indicator
    case ' ':
    case '\t':    // s-white
    case 0xFEFF:  // c-byte-order-mark
    case 0xA:
    case 0xD:  // b-char
      return false;
    case 0x85:
      return true;
  }

  if (ch < 0x20) {
    return false;
  }

  if (ch < 0x7E) {
    return true;
  }

  if (ch < 0xA0) {
    return false;
  }
  if (ch >= 0xD800 && ch <= 0xDFFF) {
    return false;
  }
  if ((ch & 0xFFFE) == 0xFFFE) {
    return false;
  }
  if ((ch >= 0xFDD0) && (ch <= 0xFDEF)) {
    return false;
  }
  if (ch > 0x10FFFF) {
    return false;
  }

  return true;
}