Program Listing for File EmpAssertDuct.hpp¶
↰ Return to documentation for file (include/uit/ducts/mock/EmpAssertDuct.hpp)
#pragma once
#ifndef UIT_DUCTS_MOCK_EMPASSERTDUCT_HPP_INCLUDE
#define UIT_DUCTS_MOCK_EMPASSERTDUCT_HPP_INCLUDE
#include <stddef.h>
#include <string>
#include "../../../../third-party/Empirical/source/base/assert.h"
#include "../proc/impl/backend/MockBackEnd.hpp"
namespace uit {
template<typename ImplSpec>
class EmpAssertDuct {
using T = typename ImplSpec::T;
public:
using InletImpl = EmpAssertDuct<ImplSpec>;
using OutletImpl = EmpAssertDuct<ImplSpec>;
using BackEndImpl = uit::MockBackEnd<ImplSpec>;
template <typename... Args>
EmpAssertDuct(Args&&... args) { ; }
[[noreturn]] bool TryPut(const T&) const {
emp_assert(false, "TryPut called on EmpAssertDuct");
}
[[noreturn]] bool TryFlush() const {
emp_assert(false, "Flush called on EmpAssertDuct");
}
[[noreturn]] const T& Get() const {
emp_assert(false, "Get called on EmpAssertDuct");
}
[[noreturn]] T& Get() {
emp_assert(false, "Get called on EmpAssertDuct");
}
[[noreturn]] size_t TryConsumeGets(size_t) const {
emp_assert(false, "ConsumeGets called on EmpAssertDuct");
}
static std::string GetName() { return "EmpAssertDuct"; }
static constexpr bool CanStep() { return false; }
std::string ToString() const { return std::string{}; }
};
} // namespace uit
#endif // #ifndef UIT_DUCTS_MOCK_EMPASSERTDUCT_HPP_INCLUDE