112a9d9c8Sopenharmony_ci// bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq --rustified-enum ".*" 212a9d9c8Sopenharmony_citemplate<class _CharT, class _Traits, class _Allocator> 312a9d9c8Sopenharmony_ciclass basic_string 412a9d9c8Sopenharmony_ci{ 512a9d9c8Sopenharmony_cipublic: 612a9d9c8Sopenharmony_ci typedef unsigned long long size_type; 712a9d9c8Sopenharmony_ci typedef char value_type; 812a9d9c8Sopenharmony_ci typedef value_type * pointer; 912a9d9c8Sopenharmony_ci 1012a9d9c8Sopenharmony_ci struct __long 1112a9d9c8Sopenharmony_ci { 1212a9d9c8Sopenharmony_ci size_type __cap_; 1312a9d9c8Sopenharmony_ci size_type __size_; 1412a9d9c8Sopenharmony_ci pointer __data_; 1512a9d9c8Sopenharmony_ci }; 1612a9d9c8Sopenharmony_ci 1712a9d9c8Sopenharmony_ci enum {__min_cap = (sizeof(__long) - 1)/sizeof(value_type) > 2 ? 1812a9d9c8Sopenharmony_ci (sizeof(__long) - 1)/sizeof(value_type) : 2}; 1912a9d9c8Sopenharmony_ci 2012a9d9c8Sopenharmony_ci struct __short 2112a9d9c8Sopenharmony_ci { 2212a9d9c8Sopenharmony_ci union 2312a9d9c8Sopenharmony_ci { 2412a9d9c8Sopenharmony_ci unsigned char __size_; 2512a9d9c8Sopenharmony_ci value_type __lx; 2612a9d9c8Sopenharmony_ci }; 2712a9d9c8Sopenharmony_ci value_type __data_[__min_cap]; 2812a9d9c8Sopenharmony_ci }; 2912a9d9c8Sopenharmony_ci 3012a9d9c8Sopenharmony_ci union __ulx{__long __lx; __short __lxx;}; 3112a9d9c8Sopenharmony_ci 3212a9d9c8Sopenharmony_ci enum {__n_words = sizeof(__ulx) / sizeof(size_type)}; 3312a9d9c8Sopenharmony_ci 3412a9d9c8Sopenharmony_ci struct __raw 3512a9d9c8Sopenharmony_ci { 3612a9d9c8Sopenharmony_ci size_type __words[__n_words]; 3712a9d9c8Sopenharmony_ci }; 3812a9d9c8Sopenharmony_ci 3912a9d9c8Sopenharmony_ci struct __rep 4012a9d9c8Sopenharmony_ci { 4112a9d9c8Sopenharmony_ci union 4212a9d9c8Sopenharmony_ci { 4312a9d9c8Sopenharmony_ci __long __l; 4412a9d9c8Sopenharmony_ci __short __s; 4512a9d9c8Sopenharmony_ci __raw __r; 4612a9d9c8Sopenharmony_ci }; 4712a9d9c8Sopenharmony_ci }; 4812a9d9c8Sopenharmony_ci}; 49