Vector.cxx revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1994, 1996 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef Vector_DEF_INCLUDED
#define Vector_DEF_INCLUDED 1
#include <stddef.h>
#include <string.h>
#ifdef SP_QUAL_TEMPLATE_DTOR_BROKEN
#define DTOR(T) ~T
#else
#define DTOR(T) T::~T
#endif
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
template<class T>
{
if (ptr_) {
::operator delete((void *)ptr_);
}
}
#ifndef NC
template<class T>
{
}
template<class T>
{
}
template<class T>
{
if (&v != this) {
if (n > size_) {
n = size_;
}
else if (n < size_)
while (n-- > 0)
}
return *this;
}
template<class T>
{
if (n > size_) {
}
else if (n < size_)
while (sz-- > 0)
}
template<class T>
{
if (i != size_)
(void)new (pp) T(t);
size_++;
}
}
template<class T>
{
if (i != size_)
size_++;
}
}
#endif
template<class T>
{
{
}
{
}
{
}
}
template<class T>
{
while (n-- > 0)
}
template<class T>
{
typedef T X;
((X *)p)->~X();
return (T *)p1;
}
template<class T>
{
// Try to preserve a consistent start in the
// event of an out of memory exception.
void *p = ::operator new(newAlloc * sizeof(T));
if (ptr_) {
::operator delete((void *)ptr_);
}
ptr_ = (T *)p;
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not Vector_DEF_INCLUDED */