Commit Graph

19 Commits

Author SHA1 Message Date
Lioncash 0e24aad20e Socket: Mark interface noexcept where applicable
Move constructors should always be marked noexcept, otherwise the object
cannot be placed into most standard library containers (as they
generally use std::move_if_noexcept to enforce strong exception
guarantees), and if this is false, then the container will fallback to
attempting to copy construct the object. Naturally, this cannot occur
without compilation errors for objects that have their copy constructor
and copy-assignment operators deleted (like Socket).

While we're at it, we can make most of the socket interface noexcept,
given they just forward to the POSIX socket functions.
2019-08-14 10:16:44 -04:00
Lioncash 6ce7c38e24 General: Make operator bool overloads and single-arg constructors explicit
Prevents various error-prone cases of implicit conversion to bool, while
retaining general conversions within conditional statements. We also
disable implicit conversions with constructors that may be ambiguous to
enforce being clear with intentions.
2019-08-14 10:00:01 -04:00
Jack Andersen 8d356cb3da Make stuff constexpr 2019-07-19 18:23:46 -10:00
Jack Andersen e61237209d Better CMake dependency handling 2019-06-11 16:03:39 -10:00
Jack Andersen e28b6551d0 New code style refactor 2018-12-07 19:20:55 -10:00
Jack Andersen 500f88d7a7 Convert to pragma once 2018-10-06 17:42:04 -10:00
Jack Andersen c06141af1e Stack reference bug fix 2018-01-13 20:43:00 -10:00
Jack Andersen 2098e8da29 Isolate WinSock2 header to translation unit 2017-12-29 15:08:45 -10:00
Jack Andersen 3b94b2d400 Huge compile performance refactor 2017-12-28 22:05:42 -10:00
Jack Andersen 34860de248 Remove optional.hpp dependency 2017-12-06 18:09:57 -10:00
Jack Andersen ec0589ec23 string_view refactor 2017-11-12 20:18:02 -10:00
Jack Andersen b8c42676ce Minor reorganization; bind to localhost to prevent Windows Firewall alert 2017-01-21 15:38:02 -10:00
Jack Andersen 0153e0ee6a Add ability to change SI channel and detect disconnections 2017-01-07 16:51:38 -10:00
Jack Andersen 4699542f93 Add Doxygen comments 2017-01-07 13:55:41 -10:00
Phillip Stephens a3fe0a3a25 Fix compiling on linux 2017-01-07 15:31:23 -08:00
Jack Andersen 42f1b86627 Use blocking I/O for transfer thread 2017-01-07 11:19:25 -10:00
Jack Andersen c34b81ad6c Win32 compatibility fixes 2017-01-06 22:24:16 -10:00
Jack Andersen 52eae7421b Add general-purpose JoyBoot utility 2017-01-06 18:57:28 -10:00
Jack Andersen ab163e856a Initial commit 2017-01-06 17:13:23 -10:00