// Filename: pallocator.T // Created by: drose (05Jun01) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved // // All use of this software is subject to the terms of the Panda 3d // Software license. You should have received a copy of this license // along with this source code; you will also find a current copy of // the license at http://www.panda3d.org/license.txt . // // To contact the maintainers of this program write to // panda3d@yahoogroups.com . // //////////////////////////////////////////////////////////////////// #if defined(OLD_STYLE_ALLOCATOR) template INLINE Type *pallocator:: allocate(size_t n) { return (Type *)(*global_operator_new)(n); } template INLINE void pallocator:: deallocate(void *p, size_t) { (*global_operator_delete)(p); } #elif defined(GNU_STYLE_ALLOCATOR) template INLINE pallocator:: pallocator() { } template template INLINE pallocator:: pallocator(const pallocator<_Tp1> &) { } template INLINE Type *pallocator:: allocate(size_t n) { return (Type *)(*global_operator_new)(n * sizeof(Type)); } template INLINE void pallocator:: deallocate(void *p, size_t) { (*global_operator_delete)(p); } #elif VC6_STYLE_ALLOCATOR template INLINE pallocator::pointer pallocator:: allocate(pallocator::size_type n, allocator::const_pointer) { return (pallocator::pointer)(*global_operator_new)(n * sizeof(Type)); } template INLINE void pallocator:: //deallocate(pallocator::pointer p, allocator::size_type) { deallocate(void *p, allocator::size_type) { (*global_operator_delete)(p); } #elif MODERN_STYLE_ALLOCATOR template INLINE pallocator:: pallocator() throw() { } template INLINE pallocator::pointer pallocator:: allocate(pallocator::size_type n, allocator::const_pointer) { return (pallocator::pointer)(*global_operator_new)(n * sizeof(Type)); } template INLINE void pallocator:: //deallocate(pallocator::pointer p, allocator::size_type) { deallocate(void *p, allocator::size_type) { (*global_operator_delete)(p); } #endif // *_STYLE_ALLOCATOR