You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bn...@apache.org on 2024/01/30 16:23:36 UTC

(trafficserver-libswoc) branch textview-constructors created (now 7a3dfc5)

This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a change to branch textview-constructors
in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git


      at 7a3dfc5  First pass on better TextView constructors.

This branch includes the following new commits:

     new 7a3dfc5  First pass on better TextView constructors.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(trafficserver-libswoc) 01/01: First pass on better TextView constructors.

Posted by bn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a commit to branch textview-constructors
in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git

commit 7a3dfc5076d3ff595bfd48f98bd91514004da4a0
Author: Alan M. Carroll <am...@apache.org>
AuthorDate: Wed Feb 10 13:10:36 2021 -0600

    First pass on better TextView constructors.
---
 code/include/swoc/TextView.h | 12 ++++++------
 unit_tests/test_TextView.cc  |  6 ++++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/code/include/swoc/TextView.h b/code/include/swoc/TextView.h
index 5823903..fcea0a3 100644
--- a/code/include/swoc/TextView.h
+++ b/code/include/swoc/TextView.h
@@ -148,23 +148,23 @@ public:
       @endcode
       The last character in @a a will be 'g'.
    */
-  template <size_t N> constexpr TextView(const char (&s)[N]) noexcept;
+  template <size_t N> constexpr TextView(char const (&s)[N]) noexcept;
 
   /** Construct from a C-string.
    *
    * @param src A pointer to a C-string.
    *
-   * @internal This is a reference because it is other ambiguous with the array constructor.
+   * @internal This is a reference because it is otherwise ambiguous with the array constructor.
    */
-  TextView(char *& src) : super_type(src) {}
+  TextView(char * & src) : super_type(src) {}
 
   /** Construct from a const C-string.
    *
    * @param src Pointer to a const C-string.
    *
-   * @internal This is a reference because it is other ambiguous with the array constructor.
+   * @internal This is a reference because it is otherwise ambiguous with the array constructor.
    */
-  TextView(char const*& src) : super_type(src) {}
+  TextView(char const * & src) : super_type(src) {}
 
   /** Construct from nullptr.
       This implicitly makes the length 0.
@@ -971,7 +971,7 @@ inline constexpr TextView::TextView(char const *first, char const *last) noexcep
 inline constexpr TextView::TextView(std::nullptr_t) noexcept : super_type(nullptr, 0) {}
 inline TextView::TextView(std::string const &str) noexcept : super_type(str) {}
 inline constexpr TextView::TextView(super_type const &that) noexcept : super_type(that) {}
-template <size_t N> constexpr TextView::TextView(const char (&s)[N]) noexcept : super_type(s, s[N - 1] ? N : N - 1) {}
+template <size_t N> constexpr TextView::TextView(char const (&s)[N]) noexcept : super_type(s, s[N - 1] ? N : N - 1) {}
 
 inline void
 TextView::init_delimiter_set(std::string_view const &delimiters, std::bitset<256> &set) {
diff --git a/unit_tests/test_TextView.cc b/unit_tests/test_TextView.cc
index dd8f2cc..cf06c45 100644
--- a/unit_tests/test_TextView.cc
+++ b/unit_tests/test_TextView.cc
@@ -43,8 +43,7 @@ TEST_CASE("TextView Constructor", "[libswoc][TextView]")
   TextView f(base.data(), 15);
   TextView u{base.data(), ux};
 
-  // Check the various forms of char pointers work unamibiguously.
-  TextView bob{"Bob"};
+  // Check the various forms of char pointers work unambiguously.
   char q[12] = "Bob";
   TextView t_q{q};
   REQUIRE(t_q.data() == q);
@@ -54,6 +53,9 @@ TEST_CASE("TextView Constructor", "[libswoc][TextView]")
   char const *qcp = "Bob";
   TextView t_qcp{qcp};
   REQUIRE(t_qcp.data() == qcp);
+//  char const * const qcpc = "Bob";
+//  TextView t_qcpc{qcpc};
+//  REQUIRE(t_qcpc.data() == qcp);
 };
 
 TEST_CASE("TextView Operations", "[libswoc][TextView]")