1 // bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq --rustified-enum ".*" 2 template<class _CharT, class _Traits, class _Allocator> 3 class basic_string 4 { 5 public: 6 typedef unsigned long long size_type; 7 typedef char value_type; 8 typedef value_type * pointer; 9 10 struct __long 11 { 12 size_type __cap_; 13 size_type __size_; 14 pointer __data_; 15 }; 16 17 enum {__min_cap = (sizeof(__long) - 1)/sizeof(value_type) > 2 ? 18 (sizeof(__long) - 1)/sizeof(value_type) : 2}; 19 20 struct __short 21 { 22 union 23 { 24 unsigned char __size_; 25 value_type __lx; 26 }; 27 value_type __data_[__min_cap]; 28 }; 29 30 union __ulx{__long __lx; __short __lxx;}; 31 32 enum {__n_words = sizeof(__ulx) / sizeof(size_type)}; 33 34 struct __raw 35 { 36 size_type __words[__n_words]; 37 }; 38 39 struct __rep 40 { 41 union 42 { 43 __long __l; 44 __short __s; 45 __raw __r; 46 }; 47 }; 48 }; 49