diff options
Diffstat (limited to 'Source/cm_static_string_view.hxx')
| -rw-r--r-- | Source/cm_static_string_view.hxx | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/Source/cm_static_string_view.hxx b/Source/cm_static_string_view.hxx deleted file mode 100644 index 708ac95..0000000 --- a/Source/cm_static_string_view.hxx +++ /dev/null @@ -1,41 +0,0 @@ -/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying - file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_static_string_view_hxx -#define cm_static_string_view_hxx - -#include "cmConfigure.h" // IWYU pragma: keep - -#include <cstddef> - -#include <cm/string_view> - -namespace cm { - -/** A string_view that only binds to static storage. - * - * This is used together with the `""_s` user-defined literal operator - * to construct a type-safe abstraction of a string_view that only views - * statically allocated strings. These strings are const and available - * for the entire lifetime of the program. - */ -class static_string_view : public string_view -{ - static_string_view(string_view v) - : string_view(v) - { - } - - friend static_string_view operator"" _s(const char* data, size_t size); -}; - -/** Create a static_string_view using `""_s` literal syntax. */ -inline static_string_view operator"" _s(const char* data, size_t size) -{ - return string_view(data, size); -} - -} // namespace cm - -using cm::operator"" _s; - -#endif |
