30#ifndef _STLP_INTERNAL_CONSTRUCT_H
31#define _STLP_INTERNAL_CONSTRUCT_H
33#if !defined (_STLP_DEBUG_UNINITIALIZED) && !defined (_STLP_INTERNAL_CSTRING)
37#ifndef _STLP_INTERNAL_NEW
41#ifndef _STLP_INTERNAL_ITERATOR_BASE_H
45#ifndef _STLP_TYPE_TRAITS_H
49#if !defined (_STLP_MOVE_CONSTRUCT_FWK_H) && !defined (_STLP_NO_MOVE_SEMANTIC)
66#if defined (_STLP_DEBUG_UNINITIALIZED)
73#if !defined (_STLP_NO_MOVE_SEMANTIC)
76# if defined (_STLP_DEBUG_UNINITIALIZED)
85# define _STLP_NEW_REDEFINE new
96#if defined (_STLP_DEF_CONST_PLCT_NEW_BUG)
107#if defined (_STLP_DEBUG_UNINITIALIZED)
110#if defined (_STLP_DEF_CONST_PLCT_NEW_BUG)
131#if defined (_STLP_DEBUG_UNINITIALIZED)
137template <
class _T1,
class _T2>
142template <
class _T1,
class _T2>
149template <
class _T1,
class _T2>
151#if defined (_STLP_DEBUG_UNINITIALIZED)
157template <
class _T1,
class _T2>
159#if !defined (_STLP_NO_MOVE_SEMANTIC)
166template <
class _T1,
class _T2>
173template <
class _T1,
class _T2>
175#if defined (_STLP_DEBUG_UNINITIALIZED)
181#if defined(_STLP_NEW_REDEFINE)
182# if defined (DEBUG_NEW)
183# define new DEBUG_NEW
185# undef _STLP_NEW_REDEFINE
188template <
class _ForwardIterator,
class _Tp>
191 for ( ; __first !=
__last; ++__first) {
193#if defined (_STLP_DEBUG_UNINITIALIZED)
199template <
class _ForwardIterator,
class _Tp>
200#if defined (_STLP_DEBUG_UNINITIALIZED)
203 for ( ; __first !=
__last; ++__first)
211template <
class _ForwardIterator,
class _Tp>
218template <
class _ForwardIterator>
224#if defined (_STLP_HAS_WCHAR_T)
229#if !defined (_STLP_NO_MOVE_SEMANTIC)
230template <
class _ForwardIterator,
class _Tp>
238template <
class _ForwardIterator>
240#if !defined (_STLP_NO_MOVE_SEMANTIC)
246#if defined (_STLP_DEF_CONST_DEF_PARAM_BUG)
250inline _Tp __default_constructed_aux(_Tp*,
const __false_type&) {
254inline _Tp __default_constructed_aux(_Tp*,
const __true_type&) {
259inline _Tp __default_constructed(_Tp* __p) {
263# define _STLP_DEFAULT_CONSTRUCTED(_TTp) __default_constructed((_TTp*)0)
265# define _STLP_DEFAULT_CONSTRUCTED(_TTp) _TTp()
269#if !defined (_STLP_NO_ANACHRONISMS)
273template <
class _T1,
class _T2>
276inline void construct(_T1* __p) { _STLP_STD::_Construct(__p); }
278inline void destroy(_Tp* __pointer) { _STLP_STD::_Destroy(__pointer); }
279template <
class _ForwardIterator>
280inline void destroy(_ForwardIterator __first, _ForwardIterator
__last) { _STLP_STD::_Destroy_Range(__first,
__last); }
_STLP_INLINE_LOOP _InputIter __last
_STLP_INLINE_LOOP _InputIter const _Tp & __val
void _Param_Construct(_T1 *__p, const _T2 &__val)
void _Destroy_Range(_ForwardIterator __first, _ForwardIterator __last)
void _Copy_Construct(_Tp *__p, const _Tp &__val)
_STLP_BEGIN_NAMESPACE void __destroy_aux(_Tp *__pointer, const __false_type &)
void _Construct_aux(_T1 *__p, const __false_type &)
void __destroy_mv_srcs(_ForwardIterator __first, _ForwardIterator __last, _Tp *__ptr)
void _Move_Construct(_T1 *__p, _T2 &__val)
void _Destroy(_Tp *__pointer)
void _Copy_Construct_aux(_Tp *__p, const _Tp &__val, const __false_type &)
_STLP_INLINE_LOOP void __destroy_range_aux(_ForwardIterator __first, _ForwardIterator __last, _Tp *, const __false_type &)
void destroy(_Tp *__pointer)
void __destroy_range(_ForwardIterator __first, _ForwardIterator __last, _Tp *__ptr)
void _Construct(_T1 *__p)
void _Destroy_Moved(_Tp *__pointer)
void _Move_Construct_Aux(_T1 *__p, _T2 &__val, const __false_type &)
void _Param_Construct_aux(_T1 *__p, const _T2 &__val, const __false_type &)
void construct(_T1 *__p, const _T2 &__val)
void _Destroy_Moved_Range(_ForwardIterator __first, _ForwardIterator __last)
#define _STLP_VALUE_TYPE(_It, _Tp)
_STLP_TYPENAME_ON_RETURN_TYPE _MoveSourceTraits< _Tp >::_Type _AsMoveSource(_Tp &src)
#define __REINTERPRET_CAST(__x, __y)
#define _STLP_INLINE_LOOP
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
_DefaultZeroValueQuestion< _Tp > _HasDefaultZeroValue(_Tp *)
_IsPOD< _Tp > _Is_POD(_Tp *)