Lioncash
045a8400e6
IOFile: Make the move constructor and move assignment operator noexcept
...
Certain parts of the standard library try to determine whether or not a
transfer operation should either be a copy or a move. The prevalent notion
of move constructors/assignment operators is that they should not throw,
they simply move an already existing resource somewhere else.
This is typically done with 'std::move_if_noexcept'. Like the name says,
if a type's move constructor is noexcept, then the functions retrieves an
r-value reference (for move semantics), or an l-value (for copy semantics)
if it is not noexcept.
As IOFile deletes the copy constructor and copy assignment operators,
using IOFile with certain parts of the standard library can fail in
unexcepted ways (especially when used with various container
implementations). This prevents that.
2017-01-04 18:37:48 -05:00
..
2016-06-24 10:43:46 +02:00
2016-11-29 20:04:32 +10:00
2016-10-04 16:34:26 -04:00
2016-12-06 20:33:53 +01:00
2016-06-24 10:43:46 +02:00
2016-08-04 22:39:45 -05:00
2016-12-06 20:33:53 +01:00
2016-10-29 13:35:23 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2015-11-02 17:12:09 +13:00
2016-06-25 10:58:53 -03:00
2016-11-11 13:37:02 +01:00
2016-10-17 14:14:10 -07:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2015-05-25 13:11:47 +02:00
2016-09-03 12:46:14 +10:00
2016-09-18 17:33:51 -07:00
2016-08-19 11:04:45 +02:00
2016-06-26 00:03:59 +10:00
2016-06-26 00:03:59 +10:00
2016-06-24 10:43:46 +02:00
2016-12-06 20:33:53 +01:00
2016-12-06 20:33:53 +01:00
2016-10-04 05:12:23 -04:00
2016-12-26 15:49:39 +01:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-10-07 10:26:26 -04:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2017-01-04 18:37:48 -05:00
2017-01-04 18:37:48 -05:00
2016-06-25 17:39:54 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-11-02 01:13:00 -04:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-01-21 21:16:51 +01:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-18 18:31:40 +02:00
2016-06-24 10:43:46 +02:00
2016-12-06 20:33:53 +01:00
2016-07-16 22:48:46 +02:00
2016-07-16 22:48:46 +02:00
2016-09-06 08:43:22 +02:00
2016-09-06 08:43:22 +02:00
2016-10-23 00:43:08 +02:00
2016-09-24 22:41:53 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-11-26 22:49:46 +01:00
2016-11-26 22:49:46 +01:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2015-05-25 13:22:31 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-07-13 17:28:55 +02:00
2016-06-24 10:43:46 +02:00
2016-11-02 02:09:33 +00:00
2015-05-25 13:22:31 +02:00
2016-10-01 01:09:12 +10:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-12-18 00:27:10 +00:00
2016-12-18 00:27:10 +00:00
2016-09-26 22:56:42 +02:00
2016-09-26 22:56:42 +02:00
2016-10-02 20:25:13 -07:00
2016-10-02 11:52:57 +02:00
2016-07-17 04:09:46 -06:00
2016-06-24 10:43:46 +02:00
2016-07-19 11:20:02 -04:00
2016-06-24 10:43:46 +02:00
2016-07-23 20:58:51 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-24 10:43:46 +02:00
2016-06-25 23:57:17 -04:00
2016-08-31 22:54:47 -04:00
2016-08-31 22:54:47 -04:00
2016-06-24 10:43:46 +02:00
2016-08-31 22:54:47 -04:00
2016-12-04 13:09:16 +01:00
2016-06-24 10:43:46 +02:00
2016-08-31 22:54:47 -04:00