| 65 | typename A = allocators::basic_alloc |
| 66 | > |
| 67 | class basic_stack : public |
| 68 | allocators::_item_alloc < |
| 69 | single_item < D>, A > |
| 70 | { |
| 71 | /*------ single-ended linked-list for singly-linked items */ |
| 72 | public : |
| 73 | |
| 74 | typedef D data_type ; |
| 75 | typedef A allocator ; |
| 76 | |
| 77 | typedef containers::basic_stack < |
| 78 | data_type , |
| 79 | allocator > self_type ; |
| 80 | |
| 81 | typedef containers::single_item < |
| 82 | data_type > item_type ; |
| 83 | typedef allocators::_item_alloc < |
| 84 | item_type , |
| 85 | allocator > obj_alloc ; |
| 86 | |
| 87 | typedef containers::const_single_iterator < |
| 88 | self_type > _const_it ; |
| 89 | typedef containers::write_single_iterator < |
| 90 | self_type > _write_it ; |
| 91 | |
| 92 | typedef typename |
| 93 | allocator::size_type size_type ; |
| 94 | typedef typename |
| 95 | allocator::diff_type diff_type ; |
| 96 | |
| 97 | private : |
| 98 | |
| 99 | item_type* _hptr ; // head/tail pointers |
| 100 | |
| 101 | private : |
| 102 | |
| 103 | /*------------------------------ helper - construct range */ |
| 104 | template < |
| 105 | typename iter_type |
| 106 | > |
| 107 | __normal_call void_type copy_list ( |
| 108 | iter_type _head, |
| 109 | iter_type _tend, |
| 110 | __cont::base_iterator_kind |
| 111 | ) |
| 112 | { /* push the sequence onto list */ |
| 113 | for ( ; _head != _tend; ++_head) |
| 114 | push_tail(*_head) ; |
| 115 | } |
| 116 | |
| 117 | __inline_call void_type copy_list ( |
| 118 | size_type _size , |
| 119 | data_type const& _dsrc, |
| 120 | __cont::null_iterator_kind |
| 121 | ) |
| 122 | { copy_data(_size, _dsrc); |
| 123 | } |
| 124 |
nothing calls this directly
no outgoing calls
no test coverage detected