#include #include #include #include #include #include #include int main(void) { using namespace simdjson::dom; using namespace std; cout << "What is 2 + 2?\n"; int a; cin >> a; cout << "Hello world!\n" << "Goodbye\n"; unordered_map map; map["test"] = "testing"; map["hello"] = "goodbye"; if (map.count("test")) cout << "lol\n"; cout << "Map elems: "; for (auto it = map.begin(); it != map.end(); ++it) { cout << it->first << "=" << it->second << " "; } cout << "\n"; map.erase("test"); cout << "Map elems: "; for (auto it = map.begin(); it != map.end(); ++it) { cout << it->first << "=" << it->second << " "; } cout << "\n"; cout << map["test"] << " hiya\n"; cout << "Map size:" << map.size() << "\n"; vector vec; vec.push_back(1); vec.push_back(2); vec.push_back(6); cout << vec.size() << "\n"; for (auto it = vec.begin(); it != vec.end(); ++it) { cout << *it << " "; } cout << "\n"; vec.push_back(10); for (int i = 0; i < vec.size(); ++i) { cout << vec[i] << " "; } cout << "\n"; for (int a : vec) { cout << a << " "; } cout << "\n"; for (int i = 0; i < 10; i++) { vec.push_back(i); } for (int a : vec) cout << a << " "; cout << "\n"; cout << (vec.empty() ? "empty" : "nonempty") << "\n"; vec.erase(vec.begin()); cout << (vec.empty() ? "empty" : "nonempty") << "\n"; vec.clear(); cout << (vec.empty() ? "empty" : "nonempty") << "\n"; CURL *curl = curl_easy_init(); string url = "https://www.reddit.com/r/LocalLlama.json"; curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl, CURLOPT_USERAGENT, "Dark Secret Ninja/1.0"); string response; curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, +[](void *ptr, size_t size, size_t nmemb, void *userdata) { string* data = (string*)userdata; *data += string((char*)ptr, size * nmemb); return size * nmemb; }); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); CURLcode res = curl_easy_perform(curl); cout << "Response Status: " << (res == CURLE_OK ? "Success" : "Fail") << "\n"; ofstream out("json_output.txt"); out << response; out.close(); parser json_parser; element json_root; try { json_root = json_parser.parse(response.c_str(), response.size()); } catch (std::exception &e) { cout << e.what() << "\n"; } int fact_count; vector facts; for (auto obj : json_root["data"].get_object()["children"].get_array()) { string fact = string(obj.get_object()["data"].get_object()["title"].get_string().value()); facts.push_back(fact); } fact_count = json_root["data"].get_object()["dist"].get_int64(); cout << "Total facts: " << fact_count << "\n"; for (auto it = facts.begin(); it != facts.end(); ++it) { cout << "Fact: " << *it << "\n"; } curl_easy_cleanup(curl); return 0; }