| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file pallocator.T
- * @author drose
- * @date 2001-06-05
- */
- template<class Type>
- INLINE pallocator_single<Type>::
- pallocator_single(TypeHandle type_handle) noexcept :
- _type_handle(type_handle)
- {
- }
- template<class Type>
- INLINE Type *pallocator_single<Type>::
- allocate(typename pallocator_single<Type>::size_type n, typename std::allocator<void>::const_pointer) {
- TAU_PROFILE("pallocator_single:allocate()", " ", TAU_USER);
- // This doesn't support allocating arrays.
- assert(n == 1);
- return (Type *)ASSUME_ALIGNED(StaticDeletedChain<Type>::allocate(sizeof(Type), _type_handle),
- MEMORY_HOOK_ALIGNMENT);
- }
- template<class Type>
- INLINE void pallocator_single<Type>::
- deallocate(typename pallocator_single<Type>::pointer p, typename pallocator_single<Type>::size_type) {
- TAU_PROFILE("pallocator_single:deallocate()", " ", TAU_USER);
- StaticDeletedChain<Type>::deallocate(p, _type_handle);
- }
- template<class Type>
- INLINE pallocator_array<Type>::
- pallocator_array(TypeHandle type_handle) noexcept :
- _type_handle(type_handle)
- {
- }
- template<class Type>
- INLINE Type *pallocator_array<Type>::
- allocate(typename pallocator_array<Type>::size_type n, typename std::allocator<void>::const_pointer) {
- return (typename pallocator_array<Type>::pointer)
- ASSUME_ALIGNED(_type_handle.allocate_array(n * sizeof(Type)), MEMORY_HOOK_ALIGNMENT);
- }
- template<class Type>
- INLINE void pallocator_array<Type>::
- deallocate(typename pallocator_array<Type>::pointer p, typename pallocator_array<Type>::size_type) {
- _type_handle.deallocate_array((void *)p);
- }
|