Optional: nonstd to std

This commit is contained in:
Kyle Schwarz
2022-07-22 01:27:39 -04:00
parent 1bb33156f7
commit 9ef01e2d3d
77 changed files with 175 additions and 7628 deletions
-23
View File
@@ -1,23 +0,0 @@
#ifndef __ICSNEO_OPTIONAL_H_
#define __ICSNEO_OPTIONAL_H_
#include "icsneo/third-party/optional-lite/include/nonstd/optional.hpp"
/**
* We use icsneo::optional throughout the C++ API to allow for polyfilling
* std::optional into C++11 and C++14 environments. In a C++17 or better
* environment, icsneo::optional will be an alias of std::optional.
*/
namespace icsneo {
using nonstd::optional;
using nonstd::bad_optional_access;
using nonstd::make_optional;
using nonstd::nullopt;
using nonstd::nullopt_t;
} // namespace icsneo
#endif
+2 -2
View File
@@ -6,7 +6,7 @@
#include "icsneo/communication/driver.h"
#include "icsneo/device/neodevice.h"
#include "icsneo/api/eventmanager.h"
#include "icsneo/platform/optional.h"
#include <optional>
#include <chrono>
#include <sys/stat.h>
#include <stdint.h>
@@ -39,7 +39,7 @@ public:
private:
neodevice_t& device;
int fd = -1;
optional<ino_t> disallowedInode;
std::optional<ino_t> disallowedInode;
std::atomic<bool> modeChanging{false};
std::thread modeChangeThread;
std::mutex modeChangeMutex;
+4 -4
View File
@@ -7,7 +7,7 @@
#include "icsneo/device/founddevice.h"
#include "icsneo/communication/driver.h"
#include "icsneo/api/eventmanager.h"
#include "icsneo/platform/optional.h"
#include <optional>
#include <string>
namespace icsneo {
@@ -127,11 +127,11 @@ private:
uint8_t* vbase = nullptr;
volatile ComHeader* header = nullptr;
optional<MsgQueue> in;
std::optional<MsgQueue> in;
std::mutex outMutex;
optional<MsgQueue> out;
optional<Mempool> outMemory;
std::optional<MsgQueue> out;
std::optional<Mempool> outMemory;
};
}