GSL/include/gsl
dmitrykobets-msft 991fa6682e
Prevent inefficient copying when using not_null::get (#1059)
Closes issue #550, which highlighted overhead in not_null::get for larger types such as shared_ptr. Every call to get would return a copy of the contained value.
This PR implements Herb's suggestion for changing the return type of not_null::get. The not_null's value will now only be copied if it is "trivially copyable"; otherwise, it will be returned by const reference.
Note: this change also forces the returned copy to be const.
2022-10-11 16:49:16 -07:00
..
algorithm quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
assert gsl::at behavior change regarding gsl::span (#985) 2021-05-20 18:18:08 -07:00
byte renaming main logic files. Added warning message of the removal and include passthrough. Renamed includes in the source files. Ran Clang-Format (#946) 2020-10-29 17:38:48 -07:00
gsl quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
gsl_algorithm quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
gsl_assert quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
gsl_byte quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
gsl_narrow quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
gsl_util quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
narrow Suppress es.46 warning in implementation of gsl::narrow (#1046) 2022-04-28 09:49:38 -07:00
pointers Prevent inefficient copying when using not_null::get (#1059) 2022-10-11 16:49:16 -07:00
span solve span compile problem with gcc 5.5.0 (#1052) 2022-08-18 12:28:11 -07:00
span_ext Resolve MSVC warning C5260 (#1049) 2022-07-18 17:42:21 -07:00
string_span quoted form of #include when GSL includes GSL files (#1030) 2022-01-31 13:06:42 -08:00
util Clean up final_act and finally, closes #846 (#977) 2022-10-10 16:09:21 -07:00