43#ifndef _RWSTD_RW_RAWITER_H_INCLUDED
44#define _RWSTD_RW_RAWITER_H_INCLUDED
46#ifndef _RWSTD_ITERBASE_H_INCLUDED
50#ifndef _RWSTD_RW_NEW_H_INCLUDED
54#ifndef _RWSTD_RW_PAIR_H_INCLUDED
63template <
class _OutputIterator,
class _TypeT>
64class raw_storage_iterator
65 :
public iterator<output_iterator_tag, void, void, void, void>
67 _OutputIterator _C_iter;
71 typedef _OutputIterator iterator_type;
74 explicit raw_storage_iterator (iterator_type __x): _C_iter (__x) { }
82 raw_storage_iterator& operator= (
const _TypeT& __rhs) {
83 ::new (&(*_C_iter)) _TypeT (__rhs);
88 raw_storage_iterator& operator++ () {
89 return ++_C_iter, *
this;
93 raw_storage_iterator operator++ (
int) {
94 const raw_storage_iterator __tmp = *
this;
95 return ++*
this, __tmp;
113__rw_tmpbuf (
void**, _RWSTD_PTRDIFF_T, _RWSTD_SIZE_T);
132template <
class _TypeT,
class _Distance>
133inline pair<_TypeT*, _Distance>
134get_temporary_buffer (_Distance __nelems, _TypeT*)
136 pair<_TypeT*, _Distance> __res (0, 0);
141 typedef void* __attribute__ ((__may_alias__)) _VoidPtrT;
145 typedef void* _VoidPtrT;
151 __nelems < 0 ? 0 : __nelems, sizeof (_TypeT));
157#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
160template <
class _TypeT>
161inline pair<_TypeT*, _RWSTD_PTRDIFF_T>
162get_temporary_buffer (_RWSTD_PTRDIFF_T __n)
164 return get_temporary_buffer (__n, (_TypeT*)0);
171template <
class _TypeT>
173return_temporary_buffer (_TypeT *__p)
178 typedef void* __attribute__ ((__may_alias__)) _VoidPtrT;
182 typedef void* _VoidPtrT;
const plus_asgn< T > & operator*(const plus_asgn< T > &lhs, const plus_asgn< T > &rhs)
#define _RWSTD_REINTERPRET_CAST(T, x)
#define _RWSTD_NAMESPACE(name)