Index: sandbox/linux/seccomp/allocator.h |
=================================================================== |
--- sandbox/linux/seccomp/allocator.h (revision 57969) |
+++ sandbox/linux/seccomp/allocator.h (working copy) |
@@ -1,88 +0,0 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Implement a very basic memory allocator that make direct system calls |
-// instead of relying on libc. |
-// This allocator is not thread-safe. |
- |
-#ifndef ALLOCATOR_H__ |
-#define ALLOCATOR_H__ |
- |
-#include <cstddef> |
- |
-namespace playground { |
- |
-class SystemAllocatorHelper { |
- protected: |
- static void *sys_allocate(size_t size); |
- static void sys_deallocate(void* p, size_t size); |
-}; |
- |
-template <class T> |
-class SystemAllocator : SystemAllocatorHelper { |
- public: |
- typedef T value_type; |
- typedef T* pointer; |
- typedef const T* const_pointer; |
- typedef T& reference; |
- typedef const T& const_reference; |
- typedef size_t size_type; |
- typedef std::ptrdiff_t difference_type; |
- |
- template <class U> |
- struct rebind { |
- typedef SystemAllocator<U> other; |
- }; |
- |
- pointer address(reference value) const { |
- return &value; |
- } |
- |
- const_pointer address(const_reference value) const { |
- return &value; |
- } |
- |
- SystemAllocator() throw() { } |
- SystemAllocator(const SystemAllocator& src) throw() { } |
- template <class U> SystemAllocator(const SystemAllocator<U>& src) throw() { } |
- ~SystemAllocator() throw() { } |
- |
- size_type max_size() const throw() { |
- return (1 << 30) / sizeof(T); |
- } |
- |
- pointer allocate(size_type num, const void* = 0) { |
- if (num > max_size()) { |
- return NULL; |
- } |
- return (pointer)sys_allocate(num * sizeof(T)); |
- } |
- |
- void construct(pointer p, const T& value) { |
- new(reinterpret_cast<void *>(p))T(value); |
- } |
- |
- void destroy(pointer p) { |
- p->~T(); |
- } |
- |
- void deallocate(pointer p, size_type num) { |
- sys_deallocate(p, num * sizeof(T)); |
- } |
-}; |
- |
-template <class T1, class T2> |
-bool operator== (const SystemAllocator<T1>&, const SystemAllocator<T2>&) |
- throw() { |
- return true; |
-} |
-template <class T1, class T2> |
-bool operator!= (const SystemAllocator<T1>&, const SystemAllocator<T2>&) |
- throw() { |
- return false; |
-} |
- |
-} // namespace |
- |
-#endif // ALLOCATOR_H__ |