summaryrefslogtreecommitdiff
path: root/o3tl/inc
AgeCommit message (Collapse)Author
2012-09-25replace remaining InterlockedCount() with inlined versionNorbert Thiebaud
Change-Id: Ifcfa48fc87f905a91470a5b0fd597b02f220784c Reviewed-on: https://gerrit.libreoffice.org/671 Tested-by: Norbert Thiebaud <nthiebaud@gmail.com> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2012-09-21o3tl::sorted_vector::insert should take const parameterMichael Stahl
Change-Id: I139f9d008770da94341b8e6c08c9247478aa186a
2012-08-02Revert "Revert "sorted_vector: turn Find parameter into template""Michael Stahl
This reverts commit 8291d41667b1a63d35bf818aaf9d75529e1f12f0. Un-revert that, with a tweak: with the bizarre name lookup semantics in C++, the proper way to refer to a template (as opposed to a template instance) is by prefixing the name with its namespace, which does seem to work with MSVC2008 & GCC 4.7; thanks to Stephan Bergmann for the hint. Change-Id: Id9cccbe68fb3ce2dd070c4b3dbd21782c92170ca
2012-08-01Revert "sorted_vector: turn Find parameter into template"Michael Stahl
This reverts commit 3e3acee762fac71f7356ed1305a64e0278278081. It was a nice idea, but C++ is not yet ready for it; with the travesty of parametric polymorphism in C++ the find_unique inside the definition of find_unique actually refers to find_unique<Value, Compare>, so there is no way to actually refer to template<Value, Compare> find_unique inside its definition. Thanks to Luboš Luňák for explaining the problem to me. Somehow this does work in GCC 4.7 even with -std=c++98, likely by accident.
2012-08-01sorted_vector: turn Find parameter into templateMichael Stahl
Enforces same type parameters for sorted_vector and Find, and makes it easier to use. Change-Id: Ide456a48f015cb0a9dea7a0bf2bcf2ccad527fd1
2012-07-31sorted_vector: add an additional template parameter:Michael Stahl
The Find parameter allows to implement sorted_vector that uses the obvious std::less-like semantics, and also allows for a different semantics where the array is sorted like std::less but duplicate values (according to std::less) are allowed except if they're actually the same object (pointer equality). Change-Id: Id54871c336ddbc2d0a2272bcc81c56914943b449
2012-07-25sorted_vector: removing the vector::ersase makes more senseMichael Stahl
Change-Id: Id70e87ab1b7f6a55ad2374cab05fa7f3bdef2cc4
2012-07-25sorted_vector: MSVC doesn't know which erase to callMichael Stahl
Change-Id: Ib81388db2f93db662bb5439565f311835b08073e
2012-07-25sorted_vector: add erase(const_iterator) methodsMichael Stahl
Change-Id: I4709cfed8f4c5e61d18906dad2948f418409dc0c
2012-07-20Unnecessary sorted_vector_compareStephan Bergmann
Change-Id: I813629a2614f99035ab1b873ee34c203729c7367
2012-07-17sorted_vector: operator[] returning by value doesn't make much senseMichael Stahl
Change-Id: I43f344fb06e45cc883c8c6cd9bbfbe29ef9c01f7
2012-07-17sorted_vector: rename nonconst methods to be more obviousMichael Stahl
Change-Id: I4ba4164343f252ac451433ba3b07e2cd214e13f8
2012-07-17sorted_vector: fix silly problems with gcc:Michael Stahl
GCC 4.7 has a completely mysterious complaint that can be avoided with a typedef: inc/o3tl/sorted_vector.hxx:48:16: error: ‘vector’ is not a template Change-Id: I58111df62c74f7d3a07e1e6e4fa1a400ff7d887c
2012-07-17Add erase(size_t) method to o3tl::sorted_vectorNoel Grandin
I can't add a regular erase(iterator) method because we only hand out const_iterator's Change-Id: Ia3bdecb0f909d0712138c7ee48da268951e2733b
2012-07-17Improvements to sorted_vectorNoel Grandin
Implement suggestionss from David Tardon, mostly around prohibiting access that could result in the vector becoming unsorted. Add front() and back() accessors. Add lower_bound() method. Add optimised insert() method. Change-Id: Icbb3597277f3e5963573b57d4f6d3cb740e896e6
2012-07-12sorted_vector should not inherit public std::vectorMichael Stahl
Clearly we don't want to expose std::vector<Value>::insert here, and neither e.g. push_back. Change-Id: I89917a23d6d9f36f56474cdc361ba4d513516122
2012-07-12Create a template container class for sorted vectorNoel Grandin
We use this kind of container a lot, so creating a single implementation makes sense. Change-Id: I67ead58becd7d2a287812145c11d93ab1c593c0f
2012-06-26re-base on ALv2 code.Michael Meeks
2012-06-21re-base on ALv2 code.Michael Meeks
Change-Id: I6c145e984c885c7e06caa1c27bfb354ea49ad9ce
2012-03-20callcatcher update listCaolán McNamara
2011-09-29fix trunk gcc compile errorsMatúš Kukan
2011-08-11fix compile errors from trunck gccTom Tromey
2011-02-08Added iota to stl compat header, switch canvas to use thatThorsten Behrens
2011-02-08Port stuff to our private implementation of SGI extensionsFridrich Štrba
2011-01-21Remove old RCS lines.Thomas Arnhold
2010-10-14Add vim/emacs modelines to all source filesSebastian Spaeth
Fixes #fdo30794 Based on bin/add-modelines script (originally posted in mail 1286706307.1871.1399280959@webmail.messagingengine.com) Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-03-31Merge DEV300_m75thb
* resolved two conflicts caused by lineend changes in canvashelper_texturefill.cxx and implrenderer.cxx. Took the cws version, which uses new texture fill semantics, and fixes clipping bug * binned file header changes from head for deleted files
2010-02-12changefileheader2: #i109125#: change source file copyright notice from Sun ↵Jens-Heiner Rechtien
Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision)
2009-10-16#i105938# Provides simplistic pool memory from a std::vectorthb
2008-10-10CWS-TOOLING: integrate CWS cmcfixes49Oliver Bolte
2008-04-11INTEGRATION: CWS changefileheader (1.2.8); FILE MERGEDRüdiger Timm
2008/03/31 12:33:51 rt 1.2.8.1: #i87441# Change license header to LPGL v3.
2008-04-11INTEGRATION: CWS changefileheader (1.2.10); FILE MERGEDRüdiger Timm
2008/03/31 12:33:51 rt 1.2.10.1: #i87441# Change license header to LPGL v3.
2008-04-11INTEGRATION: CWS changefileheader (1.5.32); FILE MERGEDRüdiger Timm
2008/03/31 12:33:51 rt 1.5.32.1: #i87441# Change license header to LPGL v3.
2007-08-20INTEGRATION: CWS np1 (1.1.2); FILE ADDEDIvo Hinkelmann
2007/07/16 09:22:22 np 1.1.2.3: Align format of internal header guard defines 2007/07/11 14:41:39 np 1.1.2.2: #i76769# 2007/04/27 16:36:44 np 1.1.2.1: #i76769#
2007-08-20INTEGRATION: CWS np1 (1.1.2); FILE ADDEDIvo Hinkelmann
2007/07/16 09:22:22 np 1.1.2.4: Align format of internal header guard defines 2007/07/16 09:07:26 thb 1.1.2.3: #i76768# Aligned header guards and whitespace to local conventions 2007/07/16 08:56:39 np 1.1.2.2: #i76768# adding safe_bool to heap_ptr; removing unnecessary stuff from test files. 2007/04/27 16:26:17 np 1.1.2.1: #76768#
2007-06-27INTEGRATION: CWS awttree01 (1.1.2); FILE ADDEDJens-Heiner Rechtien
2007/05/21 13:36:16 thb 1.1.2.2: #i10000# Made this work for gcc3.x 2007/04/25 12:10:11 thb 1.1.2.1: #i75289# Added caching helper, to easy lazy update behaviour in XSimpleCanvas implementation
2006-05-11#i63310# Optimization: for operator==/!=, first checking for same object ↵Thorsten Behrens
(via cheap pointer comparison)
2006-03-28#i63310# Simplified policy interface; added unique-case optimization to ↵Thorsten Behrens
ThreadSafeRefCountPolicy
2006-03-23#i63310# Made cow_wrapper refcounting behaviour configurable via policy ↵Thorsten Behrens
class (otherwise, code like basegfx, which previously hadn't used thread-safe refcounting, would now been hit by the performance penalty); added compile-test for ThreadSafeRefCountingPolicy to unit tests; removed cruft from unit tests
2006-03-17#128078# Removed unused typedef; corrected example codeThorsten Behrens
2006-01-25Initial revision. To be used for our standard, pimpled copy-on-write pattern.Thorsten Behrens