diff --git a/include/boost/json/impl/parse.ipp b/include/boost/json/impl/parse.ipp index 5e125fd0..71cba705 100644 --- a/include/boost/json/impl/parse.ipp +++ b/include/boost/json/impl/parse.ipp @@ -34,6 +34,19 @@ parse( return p.release(); } +value +parse( + string_view s, + std::error_code& ec, + storage_ptr sp, + parse_options const& opt) +{ + error_code jec; + value result = parse(s, jec, std::move(sp), opt); + ec = jec; + return result; +} + value parse( string_view s, diff --git a/include/boost/json/impl/parser.ipp b/include/boost/json/impl/parser.ipp index 39fda204..55b2f4df 100644 --- a/include/boost/json/impl/parser.ipp +++ b/include/boost/json/impl/parser.ipp @@ -68,6 +68,19 @@ write_some( return n; } +std::size_t +parser:: +write_some( + char const* data, + std::size_t size, + std::error_code& ec) +{ + error_code jec; + std::size_t const result = write_some(data, size, jec); + ec = jec; + return result; +} + std::size_t parser:: write_some( @@ -101,6 +114,19 @@ write( return n; } +std::size_t +parser:: +write( + char const* data, + std::size_t size, + std::error_code& ec) +{ + error_code jec; + std::size_t const result = write(data, size, jec); + ec = jec; + return result; +} + std::size_t parser:: write( diff --git a/include/boost/json/impl/stream_parser.ipp b/include/boost/json/impl/stream_parser.ipp index 67fb4191..70a5877f 100644 --- a/include/boost/json/impl/stream_parser.ipp +++ b/include/boost/json/impl/stream_parser.ipp @@ -66,6 +66,19 @@ write_some( true, data, size, ec); } +std::size_t +stream_parser:: +write_some( + char const* data, + std::size_t size, + std::error_code& ec) +{ + error_code jec; + std::size_t const result = write_some(data, size, jec); + ec = jec; + return result; +} + std::size_t stream_parser:: write_some( @@ -99,6 +112,19 @@ write( return n; } +std::size_t +stream_parser:: +write( + char const* data, + std::size_t size, + std::error_code& ec) +{ + error_code jec; + std::size_t const result = write(data, size, jec); + ec = jec; + return result; +} + std::size_t stream_parser:: write( @@ -132,6 +158,15 @@ finish() BOOST_JSON_SOURCE_POS); } +void +stream_parser:: +finish(std::error_code& ec) +{ + error_code jec; + finish(jec); + ec = jec; +} + value stream_parser:: release() diff --git a/include/boost/json/parse.hpp b/include/boost/json/parse.hpp index 9324bf9e..6afc11e2 100644 --- a/include/boost/json/parse.hpp +++ b/include/boost/json/parse.hpp @@ -63,19 +63,13 @@ parse( storage_ptr sp = {}, parse_options const& opt = {}); -inline +BOOST_JSON_DECL value parse( string_view s, std::error_code& ec, storage_ptr sp = {}, - parse_options const& opt = {}) -{ - error_code jec; - value result = parse(s, jec, std::move(sp), opt); - ec = jec; - return result; -} + parse_options const& opt = {}); /** @} */ /** Parse a string of JSON into a @ref value. diff --git a/include/boost/json/parser.hpp b/include/boost/json/parser.hpp index 885bea8d..d6de0703 100644 --- a/include/boost/json/parser.hpp +++ b/include/boost/json/parser.hpp @@ -469,13 +469,7 @@ public: write_some( char const* data, std::size_t size, - std::error_code& ec) - { - error_code jec; - std::size_t const result = write_some(data, size, jec); - ec = jec; - return result; - } + std::error_code& ec); /** @} */ /** Parse a buffer containing a complete JSON. @@ -665,17 +659,12 @@ public: std::size_t size, error_code& ec); + BOOST_JSON_DECL std::size_t write( char const* data, std::size_t size, - std::error_code& ec) - { - error_code jec; - std::size_t const result = write(data, size, jec); - ec = jec; - return result; - } + std::error_code& ec); /** @} */ /** Parse a buffer containing a complete JSON. diff --git a/include/boost/json/stream_parser.hpp b/include/boost/json/stream_parser.hpp index 2bf5ce97..669a361b 100644 --- a/include/boost/json/stream_parser.hpp +++ b/include/boost/json/stream_parser.hpp @@ -518,17 +518,12 @@ public: std::size_t size, error_code& ec); + BOOST_JSON_DECL std::size_t write_some( char const* data, std::size_t size, - std::error_code& ec) - { - error_code jec; - std::size_t const result = write_some(data, size, jec); - ec = jec; - return result; - } + std::error_code& ec); /** @} */ /** Parse a buffer containing all or part of a complete JSON. @@ -754,17 +749,12 @@ public: std::size_t size, error_code& ec); + BOOST_JSON_DECL std::size_t write( char const* data, std::size_t size, - std::error_code& ec) - { - error_code jec; - std::size_t const result = write(data, size, jec); - ec = jec; - return result; - } + std::error_code& ec); /** @} */ /** Parse a buffer containing all or part of a complete JSON. @@ -966,13 +956,9 @@ public: void finish(error_code& ec); + BOOST_JSON_DECL void - finish(std::error_code& ec) - { - error_code jec; - finish(jec); - ec = jec; - } + finish(std::error_code& ec); /** @} */ /** Indicate the end of JSON input.