#include <iostream>
#include <queue>
#include <string>
#include <thread>
using namespace std;
class bar
{
private:
std::queue<std::string> lines; // The queue
std::thread writer;
void write() // The function we call from thread
{
std::cout << "Hello world from other thread";
}
public:
bar() : writer{&bar::write, this} {}
~bar()
{
writer.join();
}
};
int main()
{
bar testing;
std::cout << "Hello World from main thread" << std::endl;
/*
What this does is it allows me to keep the console open till we get a enter key.
*/
// std::cin.clear();
// std::cin.ignore(32767, '\n');
// std::cin.get();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx0aHJlYWQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBiYXIKewpwcml2YXRlOgogICAgc3RkOjpxdWV1ZTxzdGQ6OnN0cmluZz4gbGluZXM7ICAgIC8vIFRoZSBxdWV1ZQogICAgc3RkOjp0aHJlYWQgd3JpdGVyOwogICAgCiAgICB2b2lkIHdyaXRlKCkgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGZ1bmN0aW9uIHdlIGNhbGwgZnJvbSB0aHJlYWQKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIkhlbGxvIHdvcmxkIGZyb20gb3RoZXIgdGhyZWFkIjsKICAgIH0KcHVibGljOgogICAgYmFyKCkgOiB3cml0ZXJ7JmJhcjo6d3JpdGUsIHRoaXN9IHt9CiAgICAKICAgIH5iYXIoKQogICAgewogICAgCXdyaXRlci5qb2luKCk7CiAgICB9Cn07CgppbnQgbWFpbigpCnsKICAgIGJhciB0ZXN0aW5nOwogICAgc3RkOjpjb3V0IDw8ICJIZWxsbyBXb3JsZCBmcm9tIG1haW4gdGhyZWFkIiA8PCBzdGQ6OmVuZGw7CgogICAgLyoKICAgIFdoYXQgdGhpcyBkb2VzIGlzIGl0IGFsbG93cyBtZSB0byBrZWVwIHRoZSBjb25zb2xlIG9wZW4gdGlsbCB3ZSBnZXQgYSBlbnRlciBrZXkuCiAgICAqLwoKICAgLy8gc3RkOjpjaW4uY2xlYXIoKTsKICAgLy8gc3RkOjpjaW4uaWdub3JlKDMyNzY3LCAnXG4nKTsKICAgLy8gc3RkOjpjaW4uZ2V0KCk7CgoKICAgIHJldHVybiAwOwp9