diff options
| author | Liam P. White <inkscapebrony@gmail.com> | 2015-02-25 22:24:47 +0000 |
|---|---|---|
| committer | Liam P. White <inkscapebrony@gmail.com> | 2015-02-25 22:24:47 +0000 |
| commit | 5865f0044d4d75a2d988a8bf2ea3bc65ed6f4c18 (patch) | |
| tree | babbe1ec041ee27dc0885e5d15a0e135de49e24a /src/gc-alloc.h | |
| parent | Remove useless file (diff) | |
| download | inkscape-5865f0044d4d75a2d988a8bf2ea3bc65ed6f4c18.tar.gz inkscape-5865f0044d4d75a2d988a8bf2ea3bc65ed6f4c18.zip | |
Isolate components of libgc
(bzr r13946)
Diffstat (limited to 'src/gc-alloc.h')
| -rw-r--r-- | src/gc-alloc.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/gc-alloc.h b/src/gc-alloc.h deleted file mode 100644 index ba672ae2c..000000000 --- a/src/gc-alloc.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Inkscape::GC::Alloc - GC-aware STL allocator - * - * Copyright 2004 MenTaLguY <mental@rydia.net> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * See the file COPYING for details. - * - */ - -#ifndef SEEN_INKSCAPE_GC_ALLOC_H -#define SEEN_INKSCAPE_GC_ALLOC_H - -#include <limits> -#include <cstddef> -#include "gc-core.h" - -namespace Inkscape { - -namespace GC { - -template <typename T, CollectionPolicy collect> -class Alloc { -public: - typedef T value_type; - typedef T *pointer; - typedef T const *const_pointer; - typedef T &reference; - typedef T const &const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - template <typename U> - struct rebind { typedef Alloc<U, collect> other; }; - - Alloc() {} - template <typename U> Alloc(Alloc<U, collect> const &) {} - - pointer address(reference r) { return &r; } - const_pointer address(const_reference r) { return &r; } - - size_type max_size() const { - return std::numeric_limits<std::size_t>::max() / sizeof(T); - } - - pointer allocate(size_type count, void const * =NULL) { - return static_cast<pointer>(::operator new(count * sizeof(T), SCANNED, collect)); - } - - void construct(pointer p, const_reference value) { - new (static_cast<void *>(p)) T(value); - } - void destroy(pointer p) { p->~T(); } - - void deallocate(pointer p, size_type) { ::operator delete(p, GC); } -}; - -// allocators with the same collection policy are interchangable - -template <typename T1, typename T2, - CollectionPolicy collect1, CollectionPolicy collect2> -bool operator==(Alloc<T1, collect1> const &, Alloc<T2, collect2> const &) { - return collect1 == collect2; -} - -template <typename T1, typename T2, - CollectionPolicy collect1, CollectionPolicy collect2> -bool operator!=(Alloc<T1, collect1> const &, Alloc<T2, collect2> const &) { - return collect1 != collect2; -} - -} - -} - -#endif -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : |
