namespace std { template void uninitialized_fill(ForwIter beg, ForwIter end, const T& value) { typedef typename iterator_traits::value_type VT; ForwIter save(beg); try { for (; beg!=end; ++beg) { new (static_cast(&*beg))VT(value); } } catch (...) { for (; save!=beg; ++save) { save->~VT(); } throw; } } } void uninitialized_fill_n (ForwardIterator beg, Size num, const T& value)