]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/json/visit.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / json / visit.hpp
diff --git a/ceph/src/boost/boost/json/visit.hpp b/ceph/src/boost/boost/json/visit.hpp
new file mode 100644 (file)
index 0000000..bbb573a
--- /dev/null
@@ -0,0 +1,48 @@
+//
+// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Official repository: https://github.com/boostorg/json
+//
+
+#ifndef BOOST_JSON_VISIT_HPP
+#define BOOST_JSON_VISIT_HPP
+
+#include <boost/json/detail/config.hpp>
+#include <boost/json/value.hpp>
+#include <type_traits>
+#include <utility>
+
+BOOST_JSON_NS_BEGIN
+
+/** Invoke a function object with the contents of a @ref value
+
+    @return The value returned by Visitor.
+
+    @param v The visitation function to invoke
+
+    @param jv The value to visit.
+*/
+/** @{ */
+template<class Visitor>
+auto
+visit(
+    Visitor&& v,
+    value& jv) -> decltype(
+        std::declval<Visitor>()(nullptr));
+
+template<class Visitor>
+auto
+visit(
+    Visitor &&v,
+    value const &jv) -> decltype(
+        std::declval<Visitor>()(nullptr));
+/** @} */
+
+BOOST_JSON_NS_END
+
+#include <boost/json/impl/visit.hpp>
+
+#endif