diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-13 15:53:36 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-13 15:53:36 +0300 |
commit | 63727ce4a70378db0021af1d58d675ed4100939a (patch) | |
tree | 43d7186c2a145870276b344f7d65c6a33ae5e2c6 /contrib/libs/cxxsupp/libcxx/include/__ranges/empty_view.h | |
parent | 05c17382d5a2fcbb4b947f1a856e0ac62e02aeb7 (diff) | |
download | ydb-63727ce4a70378db0021af1d58d675ed4100939a.tar.gz |
Update contrib/restricted/nlohmann_json to 3.11.2
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/__ranges/empty_view.h')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/__ranges/empty_view.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/__ranges/empty_view.h b/contrib/libs/cxxsupp/libcxx/include/__ranges/empty_view.h new file mode 100644 index 0000000000..6a08727678 --- /dev/null +++ b/contrib/libs/cxxsupp/libcxx/include/__ranges/empty_view.h @@ -0,0 +1,45 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +#ifndef _LIBCPP___RANGES_EMPTY_VIEW_H +#define _LIBCPP___RANGES_EMPTY_VIEW_H + +#include <__config> +#include <__ranges/enable_borrowed_range.h> +#include <__ranges/view_interface.h> +#include <type_traits> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +_LIBCPP_BEGIN_NAMESPACE_STD + +#if !defined(_LIBCPP_HAS_NO_CONCEPTS) && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +namespace ranges { + template<class _Tp> + requires is_object_v<_Tp> + class empty_view : public view_interface<empty_view<_Tp>> { + public: + _LIBCPP_HIDE_FROM_ABI static constexpr _Tp* begin() noexcept { return nullptr; } + _LIBCPP_HIDE_FROM_ABI static constexpr _Tp* end() noexcept { return nullptr; } + _LIBCPP_HIDE_FROM_ABI static constexpr _Tp* data() noexcept { return nullptr; } + _LIBCPP_HIDE_FROM_ABI static constexpr size_t size() noexcept { return 0; } + _LIBCPP_HIDE_FROM_ABI static constexpr bool empty() noexcept { return true; } + }; + + template<class _Tp> + inline constexpr bool enable_borrowed_range<empty_view<_Tp>> = true; +} // namespace ranges + +#endif // !defined(_LIBCPP_HAS_NO_CONCEPTS) && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP___RANGES_EMPTY_VIEW_H |