diff --git a/llvm/include/llvm/ADT/StringViewExtras.h b/llvm/include/llvm/ADT/StringViewExtras.h deleted file mode 100644 --- a/llvm/include/llvm/ADT/StringViewExtras.h +++ /dev/null @@ -1,35 +0,0 @@ -//===- llvm/ADT/StringViewExtras.h - Useful string_view functions 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 -// -//===----------------------------------------------------------------------===// -/// -/// \file -/// This file contains some functions that are useful when dealing with -/// string_views. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ADT_STRINGVIEWEXTRAS_H -#define LLVM_ADT_STRINGVIEWEXTRAS_H - -#include - -namespace llvm { - -// FIXME: std::string_view::starts_with is not available until C++20. Once LLVM -// is upgraded to C++20, remove this header and users. - -inline constexpr bool starts_with(std::string_view self, char C) { - return !self.empty() && self.front() == C; -} -inline constexpr bool starts_with(std::string_view haystack, - std::string_view needle) { - return haystack.substr(0, needle.size()) == needle; -} - -} // end namespace llvm - -#endif // LLVM_ADT_STRINGVIEWEXTRAS_H diff --git a/llvm/unittests/ADT/CMakeLists.txt b/llvm/unittests/ADT/CMakeLists.txt --- a/llvm/unittests/ADT/CMakeLists.txt +++ b/llvm/unittests/ADT/CMakeLists.txt @@ -79,7 +79,6 @@ StringRefTest.cpp StringSetTest.cpp StringSwitchTest.cpp - StringViewExtrasTest.cpp TinyPtrVectorTest.cpp TwineTest.cpp TypeSwitchTest.cpp diff --git a/llvm/unittests/ADT/StringViewExtrasTest.cpp b/llvm/unittests/ADT/StringViewExtrasTest.cpp deleted file mode 100644 --- a/llvm/unittests/ADT/StringViewExtrasTest.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//===- StringExtrasTest.cpp - Unit tests for String extras ----------------===// -// -// 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 -// -//===----------------------------------------------------------------------===// - -#include "llvm/ADT/StringViewExtras.h" -#include "llvm/Support/raw_ostream.h" -#include "gmock/gmock.h" -#include "gtest/gtest.h" - -#include - -using namespace llvm; - -TEST(StringViewExtrasTest, starts_with) { - std::string haystack = "hello world"; - EXPECT_TRUE(llvm::starts_with(haystack, 'h')); - EXPECT_FALSE(llvm::starts_with(haystack, '\0')); - EXPECT_TRUE(llvm::starts_with(haystack, "hello")); - // TODO: should this differ from \0? - EXPECT_TRUE(llvm::starts_with(haystack, "")); - - std::string empty; - EXPECT_FALSE(llvm::starts_with(empty, 'h')); - EXPECT_FALSE(llvm::starts_with(empty, '\0')); - EXPECT_FALSE(llvm::starts_with(empty, "hello")); - // TODO: should this differ from \0? - EXPECT_TRUE(llvm::starts_with(empty, "")); -}