// Proxy file in order to define generic data types, to avoid binding with system headers namespace std { typedef unsigned long size_t; template class vector { public: typedef T* iterator; typedef const T* const_iterator; typedef T& reference; typedef const T& const_reference; typedef size_t size_type; explicit vector(); explicit vector(size_type n); void swap(vector &other); void push_back(const T& val); template void emplace_back(Args &&... args); void reserve(size_t n); void resize(size_t n); size_t size(); const_reference operator[] (size_type) const; reference operator[] (size_type); const_iterator begin() const; const_iterator end() const; }; template class basic_string { public: typedef basic_string _Type; basic_string() {} basic_string(const T *p); ~basic_string() {} size_t size() const; bool empty() const; size_t find (const char* s, size_t pos = 0) const; const T *c_str() const; _Type& assign(const T *s); basic_string *operator+=(const basic_string &) {} friend basic_string operator+(const basic_string &, const basic_string &) {} }; typedef basic_string string; typedef basic_string wstring; template struct default_delete {}; template > class unique_ptr { public: unique_ptr(); ~unique_ptr(); explicit unique_ptr(T*); template unique_ptr(unique_ptr&&); T* release(); }; template class bind_rt {}; template bind_rt bind(Fp &&, Arguments &&...); } typedef unsigned int uid_t; typedef unsigned int pid_t; int getpw(uid_t uid, char *buf); int setuid(uid_t uid); int mkstemp(char *tmpl); char *mktemp(char *tmpl); pid_t vfork(void); int abort() { return 0; } #define assert(x) \ if (!(x)) \ (void)abort()