Sha256: c3626a213173d9741897ec2c0762c12614a4664f42715f19a3234a2003c68032

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

// Copyright (c) 2017-2022 Dr. Colin Hirsch and Daniel Frey
// Please see LICENSE for license or visit https://github.com/taocpp/json/

#ifndef TAO_JSON_JAXN_INTERNAL_UNESCAPE_ACTION_HPP
#define TAO_JSON_JAXN_INTERNAL_UNESCAPE_ACTION_HPP

#include <tao/pegtl/contrib/unescape.hpp>
#include <tao/pegtl/nothing.hpp>

#include "grammar.hpp"

namespace tao::json::jaxn::internal
{
   // clang-format off
   template< typename Rule > struct unescape_action : pegtl::nothing< Rule > {};

   template<> struct unescape_action< rules::escaped_char > : pegtl::unescape::unescape_c< rules::escaped_char, '"', '\'', '\\', '/', '\b', '\f', '\n', '\r', '\t', '\v', '\0' > {};
   template<> struct unescape_action< rules::escaped_unicode > : pegtl::unescape::unescape_j {};
   template<> struct unescape_action< rules::escaped_unicode_code_point_content > : pegtl::unescape::unescape_u {};

   template<> struct unescape_action< rules::identifier > : pegtl::unescape::append_all {};  // For parts_parser.
   template< char D > struct unescape_action< rules::unescaped< D > > : pegtl::unescape::append_all {};
   template< char D > struct unescape_action< rules::mchars< D > > : pegtl::unescape::append_all {};
   // clang-format on

}  // namespace tao::json::jaxn::internal

#endif

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
couchbase-3.4.5 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp
couchbase-3.4.4 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp
couchbase-3.4.3 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp
couchbase-3.4.2 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp
couchbase-3.4.1 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp
couchbase-3.4.0 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp
couchbase-3.3.0 ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp