git / moonbite-core / src/optional.h · raw

// Copyright (c) 2017-2019 The Bitcoin Core developers// Distributed under the MIT software license, see the accompanying// file COPYING or http://www.opensource.org/licenses/mit-license.php.#ifndef BITCOIN_OPTIONAL_H#define BITCOIN_OPTIONAL_H#include <utility>#include <boost/optional.hpp>//! Substitute for C++17 std::optionaltemplate <typename T>using Optional = boost::optional<T>;//! Substitute for C++17 std::make_optionaltemplate <typename T>Optional<T> MakeOptional(bool condition, T&& value){    return boost::make_optional(condition, std::forward<T>(value));}//! Substitute for C++17 std::nulloptstatic auto& nullopt = boost::none;#endif // BITCOIN_OPTIONAL_H