mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
writting <> with every string_view type is non productive and also differs from what C++ Core Guidelines proposes
This commit is contained in:
parent
d023ad51a7
commit
5629a654e6
@ -57,17 +57,10 @@ using wzstring = wchar_t*;
|
|||||||
template <class CharT, size_t Extent = dynamic_range>
|
template <class CharT, size_t Extent = dynamic_range>
|
||||||
using basic_string_view = array_view<CharT, Extent>;
|
using basic_string_view = array_view<CharT, Extent>;
|
||||||
|
|
||||||
template<size_t Extent = dynamic_range>
|
using string_view = basic_string_view<char>;
|
||||||
using string_view = basic_string_view<char, Extent>;
|
using cstring_view = basic_string_view<const char>;
|
||||||
|
using wstring_view = basic_string_view<wchar_t>;
|
||||||
template<size_t Extent = dynamic_range>
|
using cwstring_view = basic_string_view<const wchar_t>;
|
||||||
using cstring_view = basic_string_view<const char, Extent>;
|
|
||||||
|
|
||||||
template<size_t Extent = dynamic_range>
|
|
||||||
using wstring_view = basic_string_view<wchar_t, Extent>;
|
|
||||||
|
|
||||||
template<size_t Extent = dynamic_range>
|
|
||||||
using cwstring_view = basic_string_view<const wchar_t, Extent>;
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -27,26 +27,26 @@ SUITE(string_view_tests)
|
|||||||
|
|
||||||
TEST(TestLiteralConstruction)
|
TEST(TestLiteralConstruction)
|
||||||
{
|
{
|
||||||
cwstring_view<> v = ensure_z(L"Hello");
|
cwstring_view v = ensure_z(L"Hello");
|
||||||
|
|
||||||
CHECK(5 == v.length());
|
CHECK(5 == v.length());
|
||||||
|
|
||||||
#ifdef CONFIRM_COMPILATION_ERRORS
|
#ifdef CONFIRM_COMPILATION_ERRORS
|
||||||
wstring_view<> v2 = ensure0(L"Hello");
|
wstring_view v2 = ensure0(L"Hello");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(TestConstructFromStdString)
|
TEST(TestConstructFromStdString)
|
||||||
{
|
{
|
||||||
std::string s = "Hello there world";
|
std::string s = "Hello there world";
|
||||||
cstring_view<> v = s;
|
cstring_view v = s;
|
||||||
CHECK(v.length() == s.length());
|
CHECK(v.length() == s.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(TestConstructFromStdVector)
|
TEST(TestConstructFromStdVector)
|
||||||
{
|
{
|
||||||
std::vector<char> vec('h', 5);
|
std::vector<char> vec('h', 5);
|
||||||
string_view<> v = vec;
|
string_view v = vec;
|
||||||
CHECK(v.length() == vec.size());
|
CHECK(v.length() == vec.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,25 +55,25 @@ SUITE(string_view_tests)
|
|||||||
wchar_t stack_string[] = L"Hello";
|
wchar_t stack_string[] = L"Hello";
|
||||||
|
|
||||||
{
|
{
|
||||||
cwstring_view<> v = ensure_z(stack_string);
|
cwstring_view v = ensure_z(stack_string);
|
||||||
CHECK(v.length() == 5);
|
CHECK(v.length() == 5);
|
||||||
CHECK(v.used_length() == v.length());
|
CHECK(v.used_length() == v.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
cwstring_view<> v = stack_string;
|
cwstring_view v = stack_string;
|
||||||
CHECK(v.length() == 6);
|
CHECK(v.length() == 6);
|
||||||
CHECK(v.used_length() == v.length());
|
CHECK(v.used_length() == v.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
wstring_view<> v = ensure_z(stack_string);
|
wstring_view v = ensure_z(stack_string);
|
||||||
CHECK(v.length() == 5);
|
CHECK(v.length() == 5);
|
||||||
CHECK(v.used_length() == v.length());
|
CHECK(v.used_length() == v.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
wstring_view<> v = stack_string;
|
wstring_view v = stack_string;
|
||||||
CHECK(v.length() == 6);
|
CHECK(v.length() == 6);
|
||||||
CHECK(v.used_length() == v.length());
|
CHECK(v.used_length() == v.length());
|
||||||
}
|
}
|
||||||
@ -82,18 +82,18 @@ SUITE(string_view_tests)
|
|||||||
TEST(TestConversionToConst)
|
TEST(TestConversionToConst)
|
||||||
{
|
{
|
||||||
char stack_string[] = "Hello";
|
char stack_string[] = "Hello";
|
||||||
string_view<> v = ensure_z(stack_string);
|
string_view v = ensure_z(stack_string);
|
||||||
cstring_view<> v2 = v;
|
cstring_view v2 = v;
|
||||||
CHECK(v.length() == v2.length());
|
CHECK(v.length() == v2.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(TestConversionFromConst)
|
TEST(TestConversionFromConst)
|
||||||
{
|
{
|
||||||
char stack_string[] = "Hello";
|
char stack_string[] = "Hello";
|
||||||
cstring_view<> v = ensure_z(stack_string);
|
cstring_view v = ensure_z(stack_string);
|
||||||
#ifdef CONFIRM_COMPILATION_ERRORS
|
#ifdef CONFIRM_COMPILATION_ERRORS
|
||||||
string_view<> v2 = v;
|
string_view v2 = v;
|
||||||
string_view<> v3 = "Hello";
|
string_view v3 = "Hello";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user