diff options
Diffstat (limited to 'clang/test/Analysis/Inputs/system-header-simulator-cxx.h')
-rw-r--r-- | clang/test/Analysis/Inputs/system-header-simulator-cxx.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/clang/test/Analysis/Inputs/system-header-simulator-cxx.h b/clang/test/Analysis/Inputs/system-header-simulator-cxx.h index ccd54cf3b28..66ead1c05ce 100644 --- a/clang/test/Analysis/Inputs/system-header-simulator-cxx.h +++ b/clang/test/Analysis/Inputs/system-header-simulator-cxx.h @@ -12,6 +12,13 @@ typedef __typeof__((char*)0-(char*)0) ptrdiff_t; void *memmove(void *s1, const void *s2, size_t n); namespace std { + typedef size_t size_type; +#if __cplusplus >= 201103L + using nullptr_t = decltype(nullptr); +#endif +} + +namespace std { struct input_iterator_tag { }; struct output_iterator_tag { }; struct forward_iterator_tag : public input_iterator_tag { }; @@ -517,6 +524,42 @@ namespace std { const T& front() const { return *begin(); } }; + template <typename CharT> + class basic_string { + public: + basic_string(); + basic_string(const CharT *s); + + ~basic_string(); + void clear(); + + basic_string &operator=(const basic_string &str); + basic_string &operator+=(const basic_string &str); + + const CharT *c_str() const; + const CharT *data() const; + CharT *data(); + + basic_string &append(size_type count, CharT ch); + basic_string &assign(size_type count, CharT ch); + basic_string &erase(size_type index, size_type count); + basic_string &insert(size_type index, size_type count, CharT ch); + basic_string &replace(size_type pos, size_type count, const basic_string &str); + void pop_back(); + void push_back(CharT ch); + void reserve(size_type new_cap); + void resize(size_type count); + void shrink_to_fit(); + void swap(basic_string &other); + }; + + typedef basic_string<char> string; + typedef basic_string<wchar_t> wstring; +#if __cplusplus >= 201103L + typedef basic_string<char16_t> u16string; + typedef basic_string<char32_t> u32string; +#endif + class exception { public: exception() throw(); |