Tyler Veness
62be0392b6
Replace std::lock_guard and std::lock with std::scoped_lock ( #1758 )
...
std::scoped_lock was introduced in C++17 and is strictly better than
std::lock_guard as it supports locking any number of mutexes safely.
It's also easier to use than std::lock for locking multiple mutexes at
once.
2019-07-08 22:58:39 -07:00
Tyler Veness
841ef5d739
Remove template types from lock RAII wrapper usages ( #1756 )
...
C++17 has template type autodeduction. These wrappers include
std::lock_guard and std::unique_lock.
2019-07-07 19:17:14 -07:00
Tyler Veness
8b1274d744
Replace typedefs in C++ with using declarations ( #1339 )
...
These are more readable than typedefs. C headers were left alone.
2018-09-26 00:09:25 -07:00
Matt Soucy
8b5dc53cc7
Add Lambda support to InstantCommand ( #1262 )
2018-09-11 23:44:22 -07:00
Tyler Veness
0b113ad9ce
Fix some PIDCommand constructors not forwarding subsystems ( #1299 )
...
Also added missing constructor to wpilibc's InstantCommand and renamed
argument from requirement to subsystem as per
https://github.com/wpilibsuite/allwpilib/pull/1275#issuecomment-416071940 .
2018-09-02 14:18:12 -07:00
Matt Soucy
e28295fc7b
Add dependency injection of Subsystem to Command ( #1275 )
2018-08-19 19:43:21 -07:00
Peter Johnson
6933fefe55
Use Pimpl idiom for Scheduler
...
Particularly since Scheduler is a singleton, it makes a lot of sense to
use the pointer-to-implementation idiom to reduce header depedencies.
2018-07-28 17:34:42 -07:00
Peter Johnson
fedf828120
Command: Use SmallPtrSet for requirements instead of std::set
2018-07-28 17:34:42 -07:00
Peter Johnson
a2d314b0d9
ConditionalCommand.cpp: Remove iostream include
2018-07-28 17:34:42 -07:00
Tyler Veness
d89b7dd412
Move CameraServer and WPILib headers into their own folder
...
The old headers were moved into folders because doing so avoids polluting
the system include directories.
Folder names were also normalized to lowercase.
2018-07-22 19:40:57 -07:00