#include <iostream>
#include <string>
#include <vector>
#include <iterator> // For std::ostream_iterator
#include <algorithm> // For std::copy
using namespace std;
class StringSet
{
public:
StringSet(vector<string> str);
void add(string s);
void remove(int i);
void clear();
int length();
void output(ostream& outs);
private:
vector<string> strarr;
};
StringSet::StringSet(vector<string> str)
{
for(int k =0;k<str.size();k++)
{
strarr.push_back(str[k]);
}
}
void StringSet::add(string s)
{
strarr.push_back(s);
}
void StringSet::remove(int i)
{
strarr.erase (strarr.begin()+(i-1));
}
void StringSet::clear()
{
strarr.erase(strarr.begin(),strarr.end());
}
int StringSet::length()
{
return strarr.size();
}
void StringSet::output( ostream& outs )
{
std::copy(strarr.begin(), strarr.end(), std::ostream_iterator<string>(outs, "\n"));
}
int main()
{
vector<string> vstr;
string s;
for(int i=0;i<3;i++) // Changed the number of string to 3
{
cout<<"enter a string: ";
cin>>s;
vstr.push_back(s);
}
StringSet strset(vstr);
strset.length();
strset.add("hello");
strset.output( std::cout ); // Write on the standard output
strset.remove(3);
// strset.empty(); Does not exist
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aXRlcmF0b3I+ICAgICAvLyBGb3Igc3RkOjpvc3RyZWFtX2l0ZXJhdG9yCiNpbmNsdWRlIDxhbGdvcml0aG0+ICAvLyBGb3Igc3RkOjpjb3B5Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgU3RyaW5nU2V0CnsKcHVibGljOgogIFN0cmluZ1NldCh2ZWN0b3I8c3RyaW5nPiBzdHIpOwogIHZvaWQgYWRkKHN0cmluZyBzKTsKICB2b2lkIHJlbW92ZShpbnQgaSk7CiAgdm9pZCBjbGVhcigpOwogIGludCBsZW5ndGgoKTsKICB2b2lkIG91dHB1dChvc3RyZWFtJiBvdXRzKTsKcHJpdmF0ZToKICB2ZWN0b3I8c3RyaW5nPiBzdHJhcnI7Cn07CgpTdHJpbmdTZXQ6OlN0cmluZ1NldCh2ZWN0b3I8c3RyaW5nPiBzdHIpCnsKICBmb3IoaW50IGsgPTA7azxzdHIuc2l6ZSgpO2srKykKICAgIHsKICAgICAgc3RyYXJyLnB1c2hfYmFjayhzdHJba10pOwogICAgfQp9CnZvaWQgU3RyaW5nU2V0OjphZGQoc3RyaW5nIHMpCnsKICBzdHJhcnIucHVzaF9iYWNrKHMpOwp9CnZvaWQgU3RyaW5nU2V0OjpyZW1vdmUoaW50IGkpCnsKICBzdHJhcnIuZXJhc2UgKHN0cmFyci5iZWdpbigpKyhpLTEpKTsKfQp2b2lkIFN0cmluZ1NldDo6Y2xlYXIoKQp7CiAgc3RyYXJyLmVyYXNlKHN0cmFyci5iZWdpbigpLHN0cmFyci5lbmQoKSk7Cn0KaW50IFN0cmluZ1NldDo6bGVuZ3RoKCkKewogIHJldHVybiBzdHJhcnIuc2l6ZSgpOwp9CnZvaWQgU3RyaW5nU2V0OjpvdXRwdXQoIG9zdHJlYW0mIG91dHMgKQp7CiAgc3RkOjpjb3B5KHN0cmFyci5iZWdpbigpLCBzdHJhcnIuZW5kKCksIHN0ZDo6b3N0cmVhbV9pdGVyYXRvcjxzdHJpbmc+KG91dHMsICJcbiIpKTsKfQoKaW50IG1haW4oKQp7CiAgdmVjdG9yPHN0cmluZz4gdnN0cjsKICBzdHJpbmcgczsKICBmb3IoaW50IGk9MDtpPDM7aSsrKSAgICAvLyBDaGFuZ2VkIHRoZSBudW1iZXIgb2Ygc3RyaW5nIHRvIDMKICAgIHsKICAgICAgY291dDw8ImVudGVyIGEgc3RyaW5nOiAiOwogICAgICBjaW4+PnM7CiAgICAgIHZzdHIucHVzaF9iYWNrKHMpOwogICAgfQogIFN0cmluZ1NldCBzdHJzZXQodnN0cik7CiAgc3Ryc2V0Lmxlbmd0aCgpOwogIHN0cnNldC5hZGQoImhlbGxvIik7CiAgc3Ryc2V0Lm91dHB1dCggc3RkOjpjb3V0ICk7ICAgLy8gV3JpdGUgb24gdGhlIHN0YW5kYXJkIG91dHB1dAogIHN0cnNldC5yZW1vdmUoMyk7CiAgLy8gc3Ryc2V0LmVtcHR5KCk7ICAgRG9lcyBub3QgZXhpc3QKICByZXR1cm4gMDsKfQo=