_Tp1
template<typename _Tp1, typename _Tp2> class _ValArray;
template<typename _Tp1, typename _Tp2> class _Constant;
template <class _Tp, class _Tp1, int __inst>
__allocator<_Tp1, __malloc_alloc_template<__inst> > >
template <class _Tp, class _Tp1, bool __thr, int __inst>
__allocator<_Tp1,
template <class _Tp, class _Tp1, class _Alloc>
struct _Alloc_traits<_Tp, __allocator<_Tp1, debug_alloc<_Alloc> > >
template <class _Tp1> struct rebind {
typedef allocator<_Tp1> other;
template <class _Tp1> allocator(const allocator<_Tp1>&) __STL_NOTHROW {}
template <class _Tp1> struct rebind {
typedef allocator<_Tp1> other;
template <class _Tp1> struct rebind {
template <class _Tp1>
__allocator(const __allocator<_Tp1, _Alloc>& __a) __STL_NOTHROW
template <class _Tp1> struct rebind {
template <class _Tp, class _Tp1>
struct _Alloc_traits<_Tp, allocator<_Tp1> >
template <class _ForwardIter, class _Tp, class _Tp1>
_ForwardIter __last, const _Tp& __x, _Tp1*)
typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD;
template <class _ForwardIter, class _Size, class _Tp, class _Tp1>
__uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x, _Tp1*)
typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD;