mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
Removed span from-nullptr_t ctor.
This commit is contained in:
parent
72688ff009
commit
2bdbba7418
@ -341,8 +341,6 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr span(std::nullptr_t) GSL_NOEXCEPT : span() {}
|
|
||||||
|
|
||||||
constexpr span(pointer ptr, index_type count) : storage_(ptr, count) {}
|
constexpr span(pointer ptr, index_type count) : storage_(ptr, count) {}
|
||||||
|
|
||||||
constexpr span(pointer firstElem, pointer lastElem)
|
constexpr span(pointer firstElem, pointer lastElem)
|
||||||
|
@ -203,9 +203,6 @@ public:
|
|||||||
// move assign
|
// move assign
|
||||||
constexpr basic_string_span& operator=(basic_string_span&& other) GSL_NOEXCEPT = default;
|
constexpr basic_string_span& operator=(basic_string_span&& other) GSL_NOEXCEPT = default;
|
||||||
|
|
||||||
// from nullptr
|
|
||||||
constexpr basic_string_span(std::nullptr_t ptr) GSL_NOEXCEPT : span_(ptr) {}
|
|
||||||
|
|
||||||
constexpr basic_string_span(pointer ptr, index_type length) : span_(ptr, length) {}
|
constexpr basic_string_span(pointer ptr, index_type length) : span_(ptr, length) {}
|
||||||
constexpr basic_string_span(pointer firstElem, pointer lastElem) : span_(firstElem, lastElem) {}
|
constexpr basic_string_span(pointer firstElem, pointer lastElem) : span_(firstElem, lastElem) {}
|
||||||
|
|
||||||
|
@ -94,48 +94,6 @@ TEST_CASE("size_optimization")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("from_nullptr_constructor")
|
|
||||||
{
|
|
||||||
{
|
|
||||||
span<int> s = nullptr;
|
|
||||||
CHECK((s.size() == 0 && s.data() == nullptr));
|
|
||||||
|
|
||||||
span<const int> cs = nullptr;
|
|
||||||
CHECK((cs.size() == 0 && cs.data() == nullptr));
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
span<int, 0> s = nullptr;
|
|
||||||
CHECK((s.size() == 0 && s.data() == nullptr));
|
|
||||||
|
|
||||||
span<const int, 0> cs = nullptr;
|
|
||||||
CHECK((cs.size() == 0 && cs.data() == nullptr));
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
#ifdef CONFIRM_COMPILATION_ERRORS
|
|
||||||
span<int, 1> s = nullptr;
|
|
||||||
CHECK((s.size() == 1 && s.data() == nullptr)); // explains why it can't compile
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
span<int> s{nullptr};
|
|
||||||
CHECK((s.size() == 0 && s.data() == nullptr));
|
|
||||||
|
|
||||||
span<const int> cs{nullptr};
|
|
||||||
CHECK((cs.size() == 0 && cs.data() == nullptr));
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
span<int*> s{nullptr};
|
|
||||||
CHECK((s.size() == 0 && s.data() == nullptr));
|
|
||||||
|
|
||||||
span<const int*> cs{nullptr};
|
|
||||||
CHECK((cs.size() == 0 && cs.data() == nullptr));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_CASE("from_nullptr_size_constructor")
|
TEST_CASE("from_nullptr_size_constructor")
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@ -1192,8 +1150,8 @@ TEST_CASE("crbegin_crend")
|
|||||||
TEST_CASE("comparison_operators")
|
TEST_CASE("comparison_operators")
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
span<int> s1 = nullptr;
|
span<int> s1;
|
||||||
span<int> s2 = nullptr;
|
span<int> s2;
|
||||||
CHECK(s1 == s2);
|
CHECK(s1 == s2);
|
||||||
CHECK(!(s1 != s2));
|
CHECK(!(s1 != s2));
|
||||||
CHECK(!(s1 < s2));
|
CHECK(!(s1 < s2));
|
||||||
@ -1230,7 +1188,7 @@ TEST_CASE("comparison_operators")
|
|||||||
{
|
{
|
||||||
int arr[] = {2, 1}; // bigger
|
int arr[] = {2, 1}; // bigger
|
||||||
|
|
||||||
span<int> s1 = nullptr;
|
span<int> s1;
|
||||||
span<int> s2 = arr;
|
span<int> s2 = arr;
|
||||||
|
|
||||||
CHECK(s1 != s2);
|
CHECK(s1 != s2);
|
||||||
|
@ -511,12 +511,6 @@ TEST_CASE("Constructors")
|
|||||||
CHECK(span.length() == 0);
|
CHECK(span.length() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from nullptr
|
|
||||||
{
|
|
||||||
cstring_span<> span(nullptr);
|
|
||||||
CHECK(span.length() == 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// from string literal
|
// from string literal
|
||||||
{
|
{
|
||||||
cstring_span<> span = "Hello";
|
cstring_span<> span = "Hello";
|
||||||
|
Loading…
Reference in New Issue
Block a user