]>
Commit | Line | Data |
---|---|---|
bd3239d2 MF |
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 | } |