]> git.wh0rd.org - ICEs.git/blob - 411691/id_manager.i.6
more
[ICEs.git] / 411691 / id_manager.i.6
1 int __exchange_and_add_dispatch(int *__mem);
2 template < typename _Tp > class new_allocator {
3 };
4
5 namespace std {
6 template < typename _CharT > struct char_traits;
7 template < typename _Tp > class allocator:public new_allocator < _Tp > {
8 };
9 template < typename _CharT, typename _Traits =
10 char_traits < _CharT >, typename _Alloc =
11 allocator < _CharT > >class basic_string;
12 typedef basic_string < char >string;
13 template < typename _CharT, typename _Traits,
14 typename _Alloc > class basic_string {
15 typedef _Alloc allocator_type;
16 private:struct _Rep_base {
17 int _M_refcount;
18 };
19 struct _Rep:_Rep_base {
20 void _M_dispose(const _Alloc & __a) {
21 if (this != &_S_empty_rep()) {
22 if (__exchange_and_add_dispatch
23 (&this->_M_refcount)) {
24 }
25 }
26 }};
27 struct _Alloc_hider:_Alloc {
28 };
29 public: private:mutable _Alloc_hider _M_dataplus;
30 _Rep *_M_rep() const {
31 } static _Rep & _S_empty_rep() {
32 }
33 public: basic_string():_M_dataplus(_S_empty_rep()._M_refdata(),
34 _Alloc()) {
35 }
36 ~basic_string() {
37 _M_rep()->_M_dispose(this->get_allocator());
38 }
39 allocator_type get_allocator() const {
40 }};
41 }
42
43 namespace boost {
44 template < class T > class intrusive_ptr {
45 public:typedef T element_type;
46 ~intrusive_ptr() {
47 intrusive_ptr_release(px);
48 } private: T * px;
49 };
50 struct section_info;
51 template < typename T > struct intrusive_base {
52 friend void intrusive_ptr_release(T * ptr) {
53 delete ptr;
54 }};
55 struct id_category;
56 struct id_placeholder;
57 struct section_info:intrusive_base < section_info > {
58 boost::intrusive_ptr < section_info > parent;
59 std::string id_1_1;
60 };
61 namespace {
62 std::string normalize_id(std::string) {
63 }
64 }
65 void add_id_to_section(std::string const &id) {
66 std::string id_part = id;
67 normalize_id(id);
68 boost::intrusive_ptr < section_info > parent;
69 };
70 }