23 Commits

Author SHA1 Message Date
ebe78edac7
Merge pull request #6 from lioncash/constexpr
Listener: Move port constants into cpp file
2019-09-03 19:54:27 -07:00
Lioncash
04ea97ac8e Listener: Move port constants into cpp file
These are a complete internal detail, so we can hide them from the
header entirely.
2019-09-03 10:07:14 -04:00
Lioncash
5a97e587b6 Endpoint: Use std::array where applicable
Makes the interface a little more strongly-typed, and in some cases
makes it less likely to pass in invalid data.
2019-09-03 09:54:50 -04:00
Lioncash
d4891f187f General: Amend includes where applicable 2019-09-03 00:26:08 -04:00
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
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