This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
Idiot-Code-Golf/channels/channels.cpp

30 lines
496 B
C++

#include <iostream>
#include <string>
#include <any>
class channel {
private:
std::any val;
public:
void operator<<(auto & v) {
val = v;
}
void operator>>(auto & v) {
while (!val.has_value());
v = std::any_cast<decltype(v)>(val);
val.reset();
}
};
int main() {
channel c;
int x = 1;
c << x;
std::string y = "Hello world";
c >> x;
c << y;
std::cout << x << std::endl;
c >> y;
std::cout << y << std::endl;
}