GSL/include/gsl
Casey Carter e3fecbd1c5 not_null cleanups and improvements: (#449)
* constexpr all the things.

* remove operator=(const T&)
  * it leaves *this in an invalid state if ensure_invariant fails
  * implicitly converting the T to not_null and then assigning is in every way superior.

* simplify conversion from not_null<U> with constructor delegation.

* remove the converting assignment operator; again let the conversion constructor and self-assignment operator do the work.

* Cover the remaining pointer arithmetic operations as Wakely suggests in issue #447.

* Cleanup not_null conversions from null pointer constants:

  * replace constructor that accepts T with constructor template that accepts U convertible to T

  * remove deleted constructor that accepts int

  * Attempts to initialize with nullptr, 0, 0L, 0LL, etc. all unambiguously select the deleted nullptr_t constructor.
2017-02-13 11:40:27 -08:00
..
gsl not_null cleanups and improvements: (#449) 2017-02-13 11:40:27 -08:00
gsl_algorithm Cleanup include structure, constexpr and noexcept compiler workarounds. 2017-02-07 15:59:37 -08:00
gsl_assert Cleanup include structure, constexpr and noexcept compiler workarounds. 2017-02-07 15:59:37 -08:00
gsl_byte Revert change to the definition of constexpr macro in gsl_byte from #446 (#450) 2017-02-11 17:38:59 -08:00
gsl_util Cleanup include structure, constexpr and noexcept compiler workarounds. 2017-02-07 15:59:37 -08:00
multi_span Cleanup include structure, constexpr and noexcept compiler workarounds. 2017-02-07 15:59:37 -08:00
span Cleanup include structure, constexpr and noexcept compiler workarounds. 2017-02-07 15:59:37 -08:00
string_span Cleanup include structure, constexpr and noexcept compiler workarounds. 2017-02-07 15:59:37 -08:00