diff --git a/Examples/test-suite/cpp17_string_view.i b/Examples/test-suite/cpp17_string_view.i
index f57bb63..011dc02 100644
--- a/Examples/test-suite/cpp17_string_view.i
+++ b/Examples/test-suite/cpp17_string_view.i
@@ -93,7 +93,7 @@
 
 
 %inline %{
-  std::string_view stdstring_empty() {
+  std::string_view stdstringview_empty() {
     return std::string_view();
   }
 
diff --git a/Examples/test-suite/csharp/cpp17_string_view_runme.cs b/Examples/test-suite/csharp/cpp17_string_view_runme.cs
index eba25f4..7b9ee07 100644
--- a/Examples/test-suite/csharp/cpp17_string_view_runme.cs
+++ b/Examples/test-suite/csharp/cpp17_string_view_runme.cs
@@ -5,28 +5,28 @@
 {
     static void Main()
     {
-        // Checking expected use of %typemap(in) std::string {}
+        // Checking expected use of %typemap(in) std::string_view {}
         cpp17_string_view.test_value("Fee");
 
-        // Checking expected result of %typemap(out) std::string {}
+        // Checking expected result of %typemap(out) std::string_view {}
         if (cpp17_string_view.test_value("Fi") != "Fi")
             throw new Exception("Test 1 failed");
 
-        // Verify type-checking for %typemap(in) std::string {}
+        // Verify type-checking for %typemap(in) std::string_view {}
         try {
             cpp17_string_view.test_value(null);
             throw new Exception("Test 2 failed");
         } catch (ArgumentNullException) {
         }
 
-        // Checking expected use of %typemap(in) const std::string & {}
+        // Checking expected use of %typemap(in) const std::string_view & {}
         cpp17_string_view.test_const_reference("Fo");
 
-        // Checking expected result of %typemap(out) const std::string& {}
+        // Checking expected result of %typemap(out) const std::string_view& {}
         if (cpp17_string_view.test_const_reference("Fum") != "Fum")
             throw new Exception("Test 3 failed");
 
-        // Verify type-checking for %typemap(in) const std::string & {}
+        // Verify type-checking for %typemap(in) const std::string_view & {}
         try {
             cpp17_string_view.test_const_reference(null);
             throw new Exception("Test 4 failed");
@@ -35,7 +35,7 @@
 
         //
         // Input and output typemaps for pointers and non-const references to
-        // std::string are *not* supported; the following tests confirm
+        // std::string_view are *not* supported; the following tests confirm
         // that none of these cases are slipping through.
         //
 
diff --git a/Examples/test-suite/perl5/cpp17_string_view_runme.pl b/Examples/test-suite/perl5/cpp17_string_view_runme.pl
index 96fe619..bc91637 100644
--- a/Examples/test-suite/perl5/cpp17_string_view_runme.pl
+++ b/Examples/test-suite/perl5/cpp17_string_view_runme.pl
@@ -5,30 +5,30 @@
 require_ok('cpp17_string_view');
 
 use Devel::Peek;
-# Checking expected use of %typemap(in) std::string {}
+# Checking expected use of %typemap(in) std::string_view {}
 cpp17_string_view::test_value("Fee");
 
-# Checking expected result of %typemap(out) std::string {}
+# Checking expected result of %typemap(out) std::string_view {}
 is(cpp17_string_view::test_value("Fi"), "Fi", "Test 1");
 
 
-# Verify type-checking for %typemap(in) std::string {}
+# Verify type-checking for %typemap(in) std::string_view {}
 eval { cpp17_string_view::test_value(undef) };
 like($@, qr/\bTypeError\b/, "Test 2");
 
-# Checking expected use of %typemap(in) const std::string & {}
+# Checking expected use of %typemap(in) const std::string_view & {}
 cpp17_string_view::test_const_reference("Fo");
 
-# Checking expected result of %typemap(out) const std::string& {}
+# Checking expected result of %typemap(out) const std::string_view& {}
 is(cpp17_string_view::test_const_reference("Fum"), "Fum", "Test 3");
 
-# Verify type-checking for %typemap(in) const std::string & {}
+# Verify type-checking for %typemap(in) const std::string_view & {}
 eval { cpp17_string_view::test_const_reference(undef) };
 like($@, qr/\bValueError\b/, "Test 4");
 
 #
 # Input and output typemaps for pointers and non-const references to
-# std::string are *not* supported; the following tests confirm
+# std::string_view are *not* supported; the following tests confirm
 # that none of these cases are slipping through.
 #
 
@@ -64,7 +64,7 @@
 is($cpp17_string_view::Structure::ConstStaticMemberString, "const static member string", "ConstStaticMemberString test");
 
 
-is(cpp17_string_view::stdstring_empty(), "", "stdstring_empty");
+is(cpp17_string_view::stdstringview_empty(), "", "stdstringview_empty");
 
 is(cpp17_string_view::c_empty(), "", "c_empty");
 
@@ -76,4 +76,4 @@
 
 is(cpp17_string_view::get_null(cpp17_string_view::c_empty()), "non-null", "get_null c_empty");
 
-is(cpp17_string_view::get_null(cpp17_string_view::stdstring_empty()), "non-null", "get_null stdstring_empty");
+is(cpp17_string_view::get_null(cpp17_string_view::stdstringview_empty()), "non-null", "get_null stdstringview_empty");
diff --git a/Examples/test-suite/ruby/cpp17_string_view_runme.rb b/Examples/test-suite/ruby/cpp17_string_view_runme.rb
index 33ec2d0..3c071e5 100644
--- a/Examples/test-suite/ruby/cpp17_string_view_runme.rb
+++ b/Examples/test-suite/ruby/cpp17_string_view_runme.rb
@@ -13,13 +13,13 @@
 
 include Cpp17_string_view
 
-# Checking expected use of %typemap(in) std::string {}
+# Checking expected use of %typemap(in) std::string_view {}
 test_value("Fee")
 
-# Checking expected result of %typemap(out) std::string {}
+# Checking expected result of %typemap(out) std::string_view {}
 raise RuntimeError unless test_value("Fi") == "Fi"
 
-# Verify type-checking for %typemap(in) std::string {}
+# Verify type-checking for %typemap(in) std::string_view {}
 exceptionRaised = false
 begin
   test_value(0)
@@ -29,13 +29,13 @@
   raise RuntimeError unless exceptionRaised
 end
 
-# Checking expected use of %typemap(in) const std::string & {}
+# Checking expected use of %typemap(in) const std::string_view & {}
 test_const_reference("Fo")
 
-# Checking expected result of %typemap(out) const std::string& {}
+# Checking expected result of %typemap(out) const std::string_view& {}
 raise RuntimeError unless test_const_reference("Fum") == "Fum"
 
-# Verify type-checking for %typemap(in) const std::string & {}
+# Verify type-checking for %typemap(in) const std::string_view & {}
 exceptionRaised = false
 begin
   test_const_reference(0)
@@ -47,7 +47,7 @@
 
 #
 # Input and output typemaps for pointers and non-const references to
-# std::string are *not* supported; the following tests confirm
+# std::string_view are *not* supported; the following tests confirm
 # that none of these cases are slipping through.
 #
 
@@ -91,7 +91,7 @@
 end
 
 
-if (stdstring_empty() != "")
+if (stdstringview_empty() != "")
   puts "raise RuntimeError"
 end
 
@@ -114,6 +114,6 @@
   raise RuntimeError
 end
 
-if (get_null(stdstring_empty()) != "non-null")
+if (get_null(stdstringview_empty()) != "non-null")
   raise RuntimeError
 end
