Deprecates Task and Semaphore, and changes other deprecations to use wpiutil version (#330)

This commit is contained in:
Thad House
2016-11-05 00:23:52 -07:00
committed by Peter Johnson
parent 861726cefa
commit 1efb2e4d3d
8 changed files with 13 additions and 23 deletions

View File

@@ -12,8 +12,11 @@
#include <condition_variable>
#include "HAL/cpp/priority_mutex.h"
#include "support/deprecated.h"
class Semaphore {
class WPI_DEPRECATED(
"Semaphore scheduled for removal in 2018. Recommended to replace with a "
"std::mutex and std::condition_variable") Semaphore {
public:
explicit Semaphore(int32_t count = 0);
Semaphore(Semaphore&&);

View File

@@ -44,7 +44,7 @@ class Counter : public SensorBase,
explicit Counter(int channel);
explicit Counter(DigitalSource* source);
explicit Counter(std::shared_ptr<DigitalSource> source);
DEPRECATED("Use pass-by-reference instead.")
WPI_DEPRECATED("Use pass-by-reference instead.")
explicit Counter(AnalogTrigger* trigger);
explicit Counter(const AnalogTrigger& trigger);
Counter(EncodingType encodingType, DigitalSource* upSource,

View File

@@ -79,7 +79,7 @@ class Encoder : public SensorBase,
double PIDGet() override;
void SetIndexSource(int channel, IndexingType type = kResetOnRisingEdge);
DEPRECATED("Use pass-by-reference instead.")
WPI_DEPRECATED("Use pass-by-reference instead.")
void SetIndexSource(DigitalSource* source,
IndexingType type = kResetOnRisingEdge);
void SetIndexSource(const DigitalSource& source,

View File

@@ -49,7 +49,7 @@ class Preferences : public ErrorBase {
void PutFloat(llvm::StringRef key, float value);
void PutBoolean(llvm::StringRef key, bool value);
void PutLong(llvm::StringRef key, int64_t value);
DEPRECATED(
WPI_DEPRECATED(
"Saving is now automatically performed by the NetworkTables server.")
void Save();
bool ContainsKey(llvm::StringRef key);

View File

@@ -12,13 +12,16 @@
#include "ErrorBase.h"
#include "HAL/HAL.h"
#include "support/deprecated.h"
namespace frc {
/**
* Wrapper class around std::thread that allows changing thread priority
*/
class Task : public ErrorBase {
class WPI_DEPRECATED(
"Task API scheduled for removal in 2018. Replace with std::thread") Task
: public ErrorBase {
public:
static const int kDefaultPriority = 60;

View File

@@ -97,7 +97,7 @@ Counter::Counter(int channel) : Counter(kTwoPulse) {
*
* @param trigger The pointer to the existing AnalogTrigger object.
*/
DEPRECATED("Use pass-by-reference instead.")
WPI_DEPRECATED("Use pass-by-reference instead.")
Counter::Counter(AnalogTrigger* trigger) : Counter(kTwoPulse) {
SetUpSource(trigger->CreateOutput(AnalogTriggerType::kState));
ClearDownSource();

View File

@@ -462,7 +462,7 @@ void Encoder::SetIndexSource(int channel, Encoder::IndexingType type) {
* @param channel A digital source to set as the encoder index
* @param type The state that will cause the encoder to reset
*/
DEPRECATED("Use pass-by-reference instead.")
WPI_DEPRECATED("Use pass-by-reference instead.")
void Encoder::SetIndexSource(DigitalSource* source,
Encoder::IndexingType type) {
SetIndexSource(*source, type);

View File

@@ -29,22 +29,6 @@
#define noexcept throw()
#endif
// [[deprecated(msg)]] is a C++14 feature not supported by MSVC or GCC < 4.9.
// We provide an equivalent warning implementation for those compilers here.
#if defined(_MSC_VER)
#define DEPRECATED(msg) __declspec(deprecated(msg))
#elif defined(__GNUC__)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 8)
#define DEPRECATED(msg) [[deprecated(msg)]]
#else
#define DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
#elif __cplusplus > 201103L
#define DEPRECATED(msg) [[deprecated(msg)]]
#else
#define DEPRECATED(msg) /*nothing*/
#endif
// Provide std::decay_t when using GCC < 4.9
#if defined(__GNUC__)
#if __GNUC__ == 4 && __GNUC_MINOR__ < 9