Commit Graph

100 Commits

Author SHA1 Message Date
Neil MacIntosh 90c5b2b80b Merge pull request #115 from socantre/add-column-limit
Add column limit to .clang-format
2015-10-02 09:09:50 -07:00
Seth Cantrell dd923eee5f Add column limit to .clang-format 2015-10-01 20:53:37 -04:00
Neil MacIntosh 87f7f30a90 Merge pull request #68 from socantre/master
Add .clang-format file
2015-10-01 13:37:36 -07:00
Neil MacIntosh b51098a83d Merge pull request #113 from neilmacintosh/master
Improved macros used for non-compliant compilers. Fixes #82.
2015-09-30 22:05:27 -07:00
Neil MacIntosh d531680a31 Improved macros used for non-compliant compilers. 2015-09-30 21:54:08 -07:00
Neil MacIntosh 398abc8fa6 Merge pull request #111 from neilmacintosh/master
Adding noexcept to finally, final_act, narrow_cast. Fixes #92.
2015-09-30 15:15:01 -07:00
Neil MacIntosh 831c6926df Adding noexcept to finally, final_act, narrow_cast. Fixes #92. 2015-09-30 15:10:24 -07:00
Neil MacIntosh c5c8a25f34 Merge pull request #110 from neilmacintosh/master
Renamed Final_act to final_act as per issue #91.
2015-09-30 12:45:00 -07:00
Neil MacIntosh d06f7ff779 Renamed Final_act to final_act as per issue #91. 2015-09-30 12:39:18 -07:00
Neil MacIntosh fcff3fded1 Merge pull request #107 from RicoAntonioFelix/master
Commit to address issue #103...
2015-09-30 12:15:52 -07:00
RicoAntonioFelix e8ff01e543 Commit to address issue #103... 2015-09-30 12:50:42 -04:00
Neil MacIntosh 38a659c428 Merge pull request #105 from neilmacintosh/master
Correct misleading text in static_assert. Fixes issue #67.
2015-09-29 17:06:45 -07:00
Neil MacIntosh 761554f68d Correct misleading text in static_assert. Fixes issue #67. 2015-09-29 16:54:00 -07:00
Neil MacIntosh 25c90750f2 Merge pull request #104 from neilmacintosh/master
Renamed namespace to 'gsl'. Renamed macro to configure testing.
2015-09-29 16:46:34 -07:00
Neil MacIntosh ef626fd33a Renamed namespace to 'gsl'. Renamed macro to configure testing. 2015-09-29 16:41:37 -07:00
Neil MacIntosh d023ad51a7 Merge pull request #90 from john-lynch/master
Fixing move constructor/semantics of Final_act
2015-09-28 23:15:24 -07:00
john-lynch ae24c0fe06 Added test that Final_act object can be moved properly. While this is not a common case, it may happen if the user calls finally and the compiler fails to perform RVO. 2015-09-29 00:03:15 -05:00
john-lynch 1d11cd1ed1 Fixing typo in move constructor implementation that resulted in compile error during tests. 2015-09-29 00:00:21 -05:00
john-lynch 422e7164d5 Fixing move constructor of Final_act to take non-const r-value reference and move properly from other Final_act object so that correctness is not dependent on copy elison. 2015-09-28 23:40:25 -05:00
Neil MacIntosh 065f4880c3 Merge pull request #88 from trebconnell/fixmaybenull
Fix issue #49
2015-09-28 18:54:31 -07:00
Treb Connell 444bf9640a Fix issue #49 2015-09-28 18:49:53 -07:00
Neil MacIntosh 318cee0489 Merge pull request #87 from trebconnell/fixmaybenull
Fix issue #50
2015-09-28 18:40:57 -07:00
Neil MacIntosh 6a1179974d Merge pull request #86 from kevgs/master
it's better to pass a small (e.g. 16 bytes) object by value then by c…
2015-09-28 18:39:26 -07:00
Treb Connell 83333419de Add test that reproduces issue 2015-09-28 18:34:04 -07:00
Treb Connell b29566628e Revert "Fix issue #49"
This reverts commit a46d6fcf0d.
2015-09-28 18:26:35 -07:00
Treb Connell a46d6fcf0d Fix issue #49 2015-09-28 15:17:37 -07:00
Treb Connell 27ff004e84 Merge branch 'master' into fixmaybenull
Conflicts:
	include/gsl.h
	tests/maybenull_tests.cpp
2015-09-28 14:56:08 -07:00
Kosov Eugene e46160c18e it's better to pass a small (e.g. 16 bytes) object by value then by const reference 2015-09-28 23:20:28 +03:00
Neil MacIntosh 08064f8521 Merge pull request #85 from kevgs/master
fix clang -Wunused-parameter warnings
2015-09-28 11:28:55 -07:00
Kosov Eugene 3402b92ef6 fix clang -Wunused-parameter warnings 2015-09-28 21:20:02 +03:00
Neil MacIntosh 3571792058 Merge pull request #78 from kernhanda/kernhanda/heterogenous-assignment-not_null
Add various copy assignment operators to not_null and maybe_null_*.
2015-09-28 07:05:43 -07:00
Gabriel Dos Reis 6554e83c79 Macro expand constexpr to nothing under MSVC
Replace `_CONSTEXPR` with plain `constexpr`.
2015-09-28 05:10:44 -07:00
Gabriel Dos Reis 4e596761eb Update list of known platforms where GSL was successfully tested 2015-09-28 04:43:59 -07:00
Kern Handa 7d8e609faf Merge remote-tracking branch 'upstream/master' into kernhanda/heterogenous-assignment-not_null 2015-09-28 07:37:06 +00:00
Kern Handa 783eaabf9d Add various copy assignment operators to not_null and maybe_null_*.
Also removed unused constant member variable that seemed to be there
to prevent maybe_null_* being used with anything other than a pointer,
which is being taken care of with a static_assert now.
2015-09-28 07:35:18 +00:00
Neil MacIntosh 62226021a8 Merge pull request #74 from neilmacintosh/master
Fixed leak in owner<> test. Ha!
2015-09-27 18:18:14 -07:00
Neil MacIntosh bb169976da Fixed leak in owner<> test. Ha ha ha! 2015-09-27 18:06:51 -07:00
Neil MacIntosh 1a0df71f2f Merge pull request #73 from neilmacintosh/master
Correct fix for int/size_t mismatch.
2015-09-27 16:58:07 -07:00
Neil MacIntosh 99746e2d57 Correct fix for int/size_t mismatch. 2015-09-27 16:53:58 -07:00
Neil MacIntosh fb91393bb2 Fixing size_t/int mismatch in loops. 2015-09-27 16:25:43 -07:00
Neil MacIntosh bad8545eee Merge pull request #70 from kernhanda/kernhanda/not_maybe_null
not_null and maybe_null variants should only work on nullptr-assignable types.
2015-09-27 12:43:44 -07:00
Kern Handa 2b6d90436f not_null and maybe_null variants should only work on nullptr-assignable types.
This is in accordance with the GSL.View guidance on not_null and maybe_null
types in the CppCoreGuidelines document.
2015-09-27 19:35:23 +00:00
Gabriel Dos Reis 599a354b1c Merge pull request #59 from kernhanda/kernhanda/size_t
Rank and dimensions should be size_t.
2015-09-27 12:21:22 -07:00
Gabriel Dos Reis 66131c985d Merge pull request #69 from bashrc-real/patch-1
Guide::finally can make use of move semantics
2015-09-27 12:17:27 -07:00
saurabh singh 437791e504 GSL::finally can make use of move semantics
for eg consider this case
[code]
string value = "someVeryLongErrorMessageIAm";
finally([value] { PrintErrorMessage(value); }
[/code]
With the current changes before the call to PrintErrorMessage there will be 3 calls to copy constructor for string(1 when it's captured in closure, 2nd when finally is called and 3rd when it's passed to Final_act . With my patch there will be 1 call to the copy constructor and 2 to the move constructor for the scenario in example, so 2 potential deep copies will be saved for some objects.
Validated that code builds from root, and all tests pass after my change. Also validated that indeed copy constructor calls are saved for objects that support move semantics.
2015-09-27 16:11:12 +05:30
Seth Cantrell 96e5757181 Add .clang-format file
To have any hope of achieving consistent formatting there needs to be
a standard and a mechanism for enforcing it. This is a first step in
that direction.

This format specification is intended to mimic the existing style
insofar as the current source has any consistent style. For example
the determination as to whether ref qualifiers should bind to the
type or variable name was made by trying both and seeing which
produced fewer changes. One exception is the use of tabs vs. spaces,
which was decided based on a comment by neilmacintosh [here][1].

To use clang-format with Visual Studio [download][2] and install the
clang-format plugin. In VS ctrl-r, ctrl-f formats the current line or
text selection.

[1]: https://github.com/Microsoft/GSL/issues/55
[2]: http:llvm.org/builds/
2015-09-26 18:00:54 -04:00
Neil MacIntosh b40d3466c6 Merge pull request #52 from trebconnell/addheaderguards
Fix issue #39: Add header guards
2015-09-25 15:17:05 -07:00
Treb Connell 1a791992a0 Add equality operators to maybe_nul_ret 2015-09-25 12:16:39 -07:00
Kern Handa e157026807 Rank and dimensions should be size_t. 2015-09-25 00:42:38 -07:00
Treb Connell 51da13607c Fix issue #39: Add header guards 2015-09-24 18:08:34 -07:00