diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-07-19 17:14:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-19 17:14:55 -0400 |
commit | 014ca709c939512569abc7765b031b496c62a884 (patch) | |
tree | d43c24e639c9102e63c48a53ee3c8cefaee6f321 /externals/demangle/llvm/Demangle/StringViewExtras.h | |
parent | 86bbfe3b1d683640921e614c7d44ded67bb859d4 (diff) | |
parent | 1ab3bd5a5eb966ce3966688857c6fa516039c1c2 (diff) |
Merge pull request #11116 from lat9nq/clang-shadowing
general: Silence -Wshadow{,-uncaptured-local} warnings
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 |