#include <iostream>
using namespace std;
struct C
{
virtual void send_command( const std::string& command, const std::string& key, const std::string& value, bool pipeline = true )
{
cout << "string, string, string, bool\n";
}
virtual void send_command( const std::string& command, const std::string& key, bool pipeline = true )
{
cout << "string, string, bool\n";
}
virtual void send_command( const std::string& command, bool pipeline = true )
{
cout << "string, bool\n";
}
void send_command(const std::string& command, const char* key)
{ send_command(command, std::string(key)); }
};
int main() {
C c;
c.send_command("MUTLI");
c.send_command("SET", "foo", "bar");
c.send_command("GET", "foo");
c.send_command("EXEC");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEMKewoJdmlydHVhbCB2b2lkIHNlbmRfY29tbWFuZCggY29uc3Qgc3RkOjpzdHJpbmcmIGNvbW1hbmQsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIGNvbnN0IHN0ZDo6c3RyaW5nJiB2YWx1ZSwgYm9vbCBwaXBlbGluZSA9IHRydWUgKQoJewoJCWNvdXQgPDwgInN0cmluZywgc3RyaW5nLCBzdHJpbmcsIGJvb2xcbiI7Cgl9Cgl2aXJ0dWFsIHZvaWQgc2VuZF9jb21tYW5kKCBjb25zdCBzdGQ6OnN0cmluZyYgY29tbWFuZCwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgYm9vbCBwaXBlbGluZSA9IHRydWUgKQoJewoJCWNvdXQgPDwgInN0cmluZywgc3RyaW5nLCBib29sXG4iOwoJfQoJdmlydHVhbCB2b2lkIHNlbmRfY29tbWFuZCggY29uc3Qgc3RkOjpzdHJpbmcmIGNvbW1hbmQsIGJvb2wgcGlwZWxpbmUgPSB0cnVlICkKCXsKCQljb3V0IDw8ICJzdHJpbmcsIGJvb2xcbiI7Cgl9Cgl2b2lkIHNlbmRfY29tbWFuZChjb25zdCBzdGQ6OnN0cmluZyYgY29tbWFuZCwgY29uc3QgY2hhcioga2V5KQoJeyBzZW5kX2NvbW1hbmQoY29tbWFuZCwgc3RkOjpzdHJpbmcoa2V5KSk7IH0KfTsKCmludCBtYWluKCkgewoJQyBjOwoJYy5zZW5kX2NvbW1hbmQoIk1VVExJIik7CgljLnNlbmRfY29tbWFuZCgiU0VUIiwgImZvbyIsICJiYXIiKTsKCWMuc2VuZF9jb21tYW5kKCJHRVQiLCAiZm9vIik7CgljLnNlbmRfY29tbWFuZCgiRVhFQyIpOwoJcmV0dXJuIDA7Cn0=