• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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