diff options
-rw-r--r-- | include/osl/diagnose.hxx | 4 | ||||
-rw-r--r-- | include/rtl/allocator.hxx | 175 | ||||
-rw-r--r-- | odk/Package_odk_headers.mk | 1 | ||||
-rw-r--r-- | sal/inc/pch/precompiled_sal.hxx | 1 | ||||
-rw-r--r-- | sal/osl/all/debugbase.cxx | 2 | ||||
-rw-r--r-- | sal/osl/w32/path_helper.hxx | 1 | ||||
-rw-r--r-- | sal/osl/w32/procimpl.cxx | 2 | ||||
-rw-r--r-- | sal/qa/osl/process/osl_process.cxx | 4 | ||||
-rw-r--r-- | sal/rtl/bootstrap.cxx | 9 |
9 files changed, 5 insertions, 194 deletions
diff --git a/include/osl/diagnose.hxx b/include/osl/diagnose.hxx index b46584a37dbd..04eb986282a7 100644 --- a/include/osl/diagnose.hxx +++ b/include/osl/diagnose.hxx @@ -35,7 +35,6 @@ #include <osl/diagnose.h> #include <osl/interlck.h> #include <osl/mutex.hxx> -#include <rtl/allocator.hxx> #include <rtl/instance.hxx> #include <sal/log.hxx> #include <sal/saldllapi.h> @@ -98,8 +97,7 @@ struct VoidPtrHash : ::std::unary_function<void const*, ::std::size_t> { } }; -typedef ::boost::unordered_set<void const*, VoidPtrHash, ::std::equal_to<void const*>, - ::rtl::Allocator<void const*> > VoidPointerSet; +typedef ::boost::unordered_set<void const*, VoidPtrHash, ::std::equal_to<void const*> > VoidPointerSet; struct ObjectRegistryData { ObjectRegistryData( ::std::type_info const& rTypeInfo ) diff --git a/include/rtl/allocator.hxx b/include/rtl/allocator.hxx deleted file mode 100644 index 6f9152dbbd5e..000000000000 --- a/include/rtl/allocator.hxx +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef INCLUDED_RTL_ALLOCATOR_HXX -#define INCLUDED_RTL_ALLOCATOR_HXX - -#include <sal/config.h> - -#include <sal/types.h> -#include <rtl/alloc.h> -#include <cstddef> - -/// @cond INTERNAL - - -// This is no general purpose STL allocator but one -// necessary to use STL for some implementation but -// avoid linking sal against the STLPort library!!! -// For more information on when and how to define a -// custom stl allocator have a look at Scott Meyers: -// "Effective STL", Nicolai M. Josuttis: -// "The C++ Standard Library - A Tutorial and Reference" -// and at http://www.josuttis.com/cppcode/allocator.html - -namespace rtl { - -template<class T> -class Allocator -{ -public: - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef ::std::size_t size_type; - typedef ::std::ptrdiff_t difference_type; - - - template<class U> - struct rebind - { - typedef Allocator<U> other; - }; - - - pointer address (reference value) const - { - return &value; - } - - - const_pointer address (const_reference value) const - { - return &value; - } - - - Allocator() SAL_THROW(()) - {} - - - template<class U> - Allocator (SAL_UNUSED_PARAMETER const Allocator<U>&) SAL_THROW(()) - {} - - - Allocator(const Allocator&) SAL_THROW(()) - {} - - - ~Allocator() SAL_THROW(()) - {} - - - size_type max_size() const SAL_THROW(()) - { - return size_type(-1)/sizeof(T); - } - - - /* Normally the code for allocate should - throw a std::bad_alloc exception if the - requested memory could not be allocated: - (C++ standard 20.4.1.1): - - pointer allocate (size_type n, const void* hint = 0) - { - pointer p = reinterpret_cast<pointer>( - rtl_allocateMemory(sal_uInt32(n * sizeof(T)))); - - if (NULL == p) - throw ::std::bad_alloc(); - - return p; - } - - but some compilers do not compile it if exceptions - are not enabled, e.g. GCC under Linux and it is - in general not desired to compile sal with exceptions - enabled. */ - pointer allocate (size_type n, SAL_UNUSED_PARAMETER const void* = 0) - { - return reinterpret_cast<pointer>( - rtl_allocateMemory(sal_uInt32(n * sizeof(T)))); - } - - - void deallocate (pointer p, SAL_UNUSED_PARAMETER size_type /* n */) - { - rtl_freeMemory(p); - } - - -#if HAVE_CXX11_PERFECT_FORWARDING && !defined(_LIBCPP_VERSION) - template< typename... Args > - void construct (pointer p, Args &&... value) - { - new ((void*)p)T(std::forward< Args >(value)...); - } -#else - void construct (pointer p, const T& value) - { - new ((void*)p)T(value); - } -#endif - - - void destroy (pointer p) - { - p->~T(); - (void)p; //MSVC2005 annoyingly warns this is unused - } -}; - - -// Custom STL allocators must be stateless (see -// references above) that's why the operators below -// return always true or false - -template<class T, class U> inline bool operator ==( - SAL_UNUSED_PARAMETER const Allocator<T>&, - SAL_UNUSED_PARAMETER const Allocator<U>&) SAL_THROW(()) -{ - return true; -} - -template<class T, class U> -inline bool operator!= (const Allocator<T>&, const Allocator<U>&) SAL_THROW(()) -{ - return false; -} - -} /* namespace rtl */ - -/// @endcond - -#endif /* INCLUDED_RTL_ALLOCATOR_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/odk/Package_odk_headers.mk b/odk/Package_odk_headers.mk index be6ff26b42c1..331af212eb7a 100644 --- a/odk/Package_odk_headers.mk +++ b/odk/Package_odk_headers.mk @@ -119,7 +119,6 @@ $(eval $(call gb_Package_add_files_with_dir,odk_headers,$(SDKDIRNAME)/include,\ osl/thread.hxx \ osl/time.h \ rtl/alloc.h \ - rtl/allocator.hxx \ rtl/bootstrap.h \ rtl/bootstrap.hxx \ rtl/byteseq.h \ diff --git a/sal/inc/pch/precompiled_sal.hxx b/sal/inc/pch/precompiled_sal.hxx index f26f2030b52d..2707686583e4 100644 --- a/sal/inc/pch/precompiled_sal.hxx +++ b/sal/inc/pch/precompiled_sal.hxx @@ -25,7 +25,6 @@ #include "osl/thread.hxx" #include "osl/time.h" #include "rtl/alloc.h" -#include "rtl/allocator.hxx" #include "rtl/bootstrap.h" #include "rtl/bootstrap.hxx" #include "rtl/character.hxx" diff --git a/sal/osl/all/debugbase.cxx b/sal/osl/all/debugbase.cxx index 57f70d8c9bc8..c2dc2b68f74e 100644 --- a/sal/osl/all/debugbase.cxx +++ b/sal/osl/all/debugbase.cxx @@ -28,7 +28,7 @@ namespace { -typedef std::vector<rtl::OString, rtl::Allocator<rtl::OString> > OStringVec; +typedef std::vector<rtl::OString> OStringVec; struct StaticDebugBaseAddressFilter : rtl::StaticWithInit<OStringVec, StaticDebugBaseAddressFilter> { diff --git a/sal/osl/w32/path_helper.hxx b/sal/osl/w32/path_helper.hxx index 6092098a560e..8087ac445887 100644 --- a/sal/osl/w32/path_helper.hxx +++ b/sal/osl/w32/path_helper.hxx @@ -22,7 +22,6 @@ #include "path_helper.h" #include <rtl/ustring.hxx> -#include <rtl/allocator.hxx> namespace osl { diff --git a/sal/osl/w32/procimpl.cxx b/sal/osl/w32/procimpl.cxx index 9f511e7053d8..bccda26b49d7 100644 --- a/sal/osl/w32/procimpl.cxx +++ b/sal/osl/w32/procimpl.cxx @@ -36,7 +36,6 @@ #include <rtl/ustring.hxx> #include <rtl/ustrbuf.hxx> #include "secimpl.h" -#include "rtl/allocator.hxx" #include <osl/file.hxx> #include <list> @@ -54,7 +53,6 @@ const rtl::OUString QUOTE("\""); namespace /* private */ { - typedef std::list<rtl::OUString> string_container_t; typedef string_container_t::iterator string_container_iterator_t; typedef string_container_t::const_iterator string_container_const_iterator_t; diff --git a/sal/qa/osl/process/osl_process.cxx b/sal/qa/osl/process/osl_process.cxx index 79e728324019..5a79ceb4b201 100644 --- a/sal/qa/osl/process/osl_process.cxx +++ b/sal/qa/osl/process/osl_process.cxx @@ -44,8 +44,6 @@ #include <unistd.h> #endif -#include "rtl/allocator.hxx" - #include <iostream> #include <fstream> #include <vector> @@ -88,7 +86,7 @@ inline ::rtl::OUString getExecutablePath( void ) //rtl::OUString CWD = getExecutablePath(); -typedef std::vector<std::string, rtl::Allocator<std::string> > string_container_t; +typedef std::vector<std::string> string_container_t; typedef string_container_t::const_iterator string_container_const_iter_t; typedef string_container_t::iterator string_container_iter_t; diff --git a/sal/rtl/bootstrap.cxx b/sal/rtl/bootstrap.cxx index 8e92f13ade60..86f22c823e8b 100644 --- a/sal/rtl/bootstrap.cxx +++ b/sal/rtl/bootstrap.cxx @@ -37,7 +37,6 @@ #include <rtl/instance.hxx> #include <rtl/malformeduriexception.hxx> #include <rtl/uri.hxx> -#include "rtl/allocator.hxx" #include <boost/noncopyable.hpp> #include <boost/unordered_map.hpp> @@ -132,10 +131,7 @@ struct rtl_bootstrap_NameValue {} }; -typedef std::list< - rtl_bootstrap_NameValue, - rtl::Allocator< rtl_bootstrap_NameValue > -> NameValueList; +typedef std::list<rtl_bootstrap_NameValue> NameValueList; bool find( NameValueList const & list, rtl::OUString const & key, @@ -607,8 +603,7 @@ namespace { struct bootstrap_map: private boost::noncopyable { typedef boost::unordered_map< rtl::OUString, Bootstrap_Impl *, - rtl::OUStringHash, std::equal_to< rtl::OUString >, - rtl::Allocator< OUString > > t; + rtl::OUStringHash, std::equal_to< rtl::OUString > > t; // get and release must only be called properly synchronized via some mutex // (e.g., osl::Mutex::getGlobalMutex()): |