diff options
author | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2023-07-19 03:39:37 +0200 |
---|---|---|
committer | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2023-07-19 04:39:26 +0200 |
commit | 1ab3bd5a5eb966ce3966688857c6fa516039c1c2 (patch) | |
tree | 0666011e6ddd40c71534c1827f86f7b297170edf /externals/demangle/llvm/Demangle/StringViewExtras.h | |
parent | CMake: Require LLVM 17 or later (diff) | |
download | yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.tar yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.tar.gz yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.tar.bz2 yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.tar.lz yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.tar.xz yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.tar.zst yuzu-1ab3bd5a5eb966ce3966688857c6fa516039c1c2.zip |
Diffstat (limited to 'externals/demangle/llvm/Demangle/StringViewExtras.h')
-rw-r--r-- | externals/demangle/llvm/Demangle/StringViewExtras.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/externals/demangle/llvm/Demangle/StringViewExtras.h b/externals/demangle/llvm/Demangle/StringViewExtras.h new file mode 100644 index 000000000..83685c304 --- /dev/null +++ b/externals/demangle/llvm/Demangle/StringViewExtras.h @@ -0,0 +1,39 @@ +//===--- StringViewExtras.h ----------*- mode:c++;eval:(read-only-mode) -*-===// +// Do not edit! See README.txt. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-FileCopyrightText: Part of the LLVM Project +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// There are two copies of this file in the source tree. The one under +// libcxxabi is the original and the one under llvm is the copy. Use +// cp-to-llvm.sh to update the copy. See README.txt for more details. +// +//===----------------------------------------------------------------------===// + +#ifndef DEMANGLE_STRINGVIEW_H +#define DEMANGLE_STRINGVIEW_H + +#include "DemangleConfig.h" + +#include <string_view> + +DEMANGLE_NAMESPACE_BEGIN + +inline bool starts_with(std::string_view self, char C) noexcept { + return !self.empty() && *self.begin() == C; +} + +inline bool starts_with(std::string_view haystack, + std::string_view needle) noexcept { + if (needle.size() > haystack.size()) + return false; + haystack.remove_suffix(haystack.size() - needle.size()); + return haystack == needle; +} + +DEMANGLE_NAMESPACE_END + +#endif |