// Original CPU teaching model; not a device simulator or benchmark.
#include <iostream>
#include <stdexcept>

void require(bool ok) { if (!ok) throw std::runtime_error("model check failed"); }

int main() {
 struct Slot { int payload=0; bool ready=false; } slot;
 slot.payload=17; slot.ready=true;
 require(slot.ready); const int consumed=slot.payload; slot.ready=false;
 require(consumed==17 && !slot.ready);
 std::cout<<"consumed="<<consumed<<'\n';
}

