summaryrefslogtreecommitdiffstats
path: root/o3tl
Commit message (Collapse)AuthorAgeFilesLines
* Adapt o3tl::span to P1872R0Stephan Bergmann2021-04-091-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ..."span should have size_type, not index_type" (<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1872r0.pdf>), as implemented by libc++ since <https://github.com/llvm/llvm-project/commit/ 1466335cf4b2854a0be1defcf279fe50772bad6f> "[libc++][P1872] span should have size_type, not index_type." All uses of index_type had been added to mitigate the previous std::span change from signed (ptrdiff_t) to unsigned (size_t) index_type, see 6ef8420fdbf8dff16de13147c5ab833bc5e01121 "Adapt o3tl::span to updated C++2a std::span". There is no easy solution to transparently support all three std::span variants currently out there (signed index_type, unsigned index_type, unsigned size_type), without causing compilation failures due to CPPUNIT_ASSERT_EQUAL with arguments of different types, or compiler warnings about mixed signed/unsigned comparisons. So rule out the oldest std::span variant (signed index_type) in configure.ac (so that o3tl::span will use its own hand-rolled code in that case) and simplify the uses of index_type to std::size_t (as had already been mentioned in 6ef8420fdbf8dff16de13147c5ab833bc5e01121). Reviewed-on: https://gerrit.libreoffice.org/84652 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 8e6865188242bccb3d8aa857ddc990d72a058d3d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87757 Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit bb9833594b031c6d0ec91422f85968c4b1f2f8bc) Change-Id: I6ddf424ffb7941da3f69ad66fd29ecd35f09afae
* o3tl::make_unique -> std::make_unique in include/ & o3tl/Gabor Kelemen2019-02-201-9/+8
| | | | | | | | | | | | Also the last few remaining occurrences of the header Since it is now possible to use C++14, it's time to replace the temporary solution with the standard one Change-Id: I18f435270057f2d09e21d6ea262532cbcc974598 Reviewed-on: https://gerrit.libreoffice.org/67843 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
* array_view was changed to span in upcoming C++20Stephan Bergmann2019-01-133-86/+66
| | | | | | | | | | | | | | | ...see <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf> "span: bounds-safe views for sequences of objects". o3tl::span is still an incomplete approximation of std::span; removed those o3tl::array_view members that are not present in std::span (and were not used in the code). Relies on C++17 __has_include to use standard <span> where available (e.g., in LLVM 7 libc++). Change-Id: I82a7e246b61b2456fa6183025d25eec4121ad3c9 Reviewed-on: https://gerrit.libreoffice.org/66215 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Drop o3tl/string_view.hxxStephan Bergmann2019-01-112-222/+0
| | | | | | | | | | | | | | | | | | ...now that all of its uses have been replaced with C++17 <string_view>. The LO-specific o3tl::basic_string_view ctors with OString and OUString params have meanwhile been replaced with OString and OUString conversion functions (in dac7be50cff94e0c34cdca5ac7e35c19685c40c1 "o3tl::string_view -> std::string_view (in configmgr)"), the ctor with OUStringLiteral turned out to be no longer(?) needed anyway, and the LO-specific o3tl::toOUString has meanwhile been replaced with an OUString ctor with std::u16string_view param (in 6856da30665705be6380e84cf55de954c41f15d1 "o3tl::string_view -> std::string_view (in embedserv)"). Change-Id: Ie5215b07e2387560fb7e94de8b5a963241539c64 Reviewed-on: https://gerrit.libreoffice.org/66144 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Fix o3tl::string_view streaming operator <<Stephan Bergmann2018-12-161-0/+9
| | | | | | | | | | (The unnecessary os.setstate(std::ios_base::failbit) was due to a misreading of C++17 [ostream.formatted.reqmts]/1.) Change-Id: I7d8285230cb316c7af45c76029e9629517d05d56 Reviewed-on: https://gerrit.libreoffice.org/65217 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* -Werror=catch-value=Julien Nabet2018-10-071-1/+1
| | | | | | | Change-Id: I58563735e6cf5004b4ac5e846885414f0c603f4c Reviewed-on: https://gerrit.libreoffice.org/61491 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Convert ImplFontCache to use o3tl::lru_mapJan-Marek Glogowski2018-10-061-0/+20
| | | | | | | | | | We still do our own cleanup of the LRU map, as we can't drop any fonts in use. Change-Id: I8ec5c6ce8f80893635621357e9085950e7010f5b Reviewed-on: https://gerrit.libreoffice.org/61455 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
* Add a glyph-bound-rect cache to the font cacheJan-Marek Glogowski2018-10-061-0/+55
| | | | | | | | | | This way the font cache can correctly invalidate the cached glyph rects when a font is dropped from the cache. Change-Id: I050866099742334f01cac1b872228a017ddb5e9b Reviewed-on: https://gerrit.libreoffice.org/61371 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
* implement find(T*) for o3tl::sorted_vector when it contains unique_ptr<T>Noel Grandin2018-09-191-0/+48
| | | | | | | | | and add some unit tests Change-Id: I9a01c9fa2fbbf3a553663a980ee6e958f9819645 Reviewed-on: https://gerrit.libreoffice.org/60737 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* clang-tidy bugprone-use-after-moveNoel Grandin2018-09-081-1/+1
| | | | | | | Change-Id: I93c33da06f638ec6c8432bd13f992c320cfde93e Reviewed-on: https://gerrit.libreoffice.org/60158 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin: look for CPPUNIT_ASSERT_EQUALS with params swappedNoel Grandin2018-06-011-9/+9
| | | | | | | | | idea originally from either tml or moggi, can't remember which Change-Id: Id78d75035036d3aa1666e33469c6eeb38f9e624d Reviewed-on: https://gerrit.libreoffice.org/55126 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* New o3tl::temporary to simplify calls of std::modfStephan Bergmann2018-05-173-0/+42
| | | | | | | | | ...that ignore the out-parameter integral part Change-Id: I05f07c1a8909023232f8aecf75ea5541d4eb81ca Reviewed-on: https://gerrit.libreoffice.org/54474 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
* Fix typoAndrea Gelmini2018-05-141-1/+1
| | | | | | | Change-Id: I87fce20463564fe9b32912fcbaf691c1c2839e2b Reviewed-on: https://gerrit.libreoffice.org/54201 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins <ci@libreoffice.org>
* o3tl: add some comments to sorted_vector testTomaž Vajngerl2018-05-131-2/+10
| | | | | | | Change-Id: Iebedbb5afb45a92e52a8a390b9b7f6daae2337eb Reviewed-on: https://gerrit.libreoffice.org/54192 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
* Add test for o3tl::saturating_addStephan Bergmann2017-10-262-0/+120
| | | | Change-Id: I19bb1d566bd80f859810b4023d965c8fd80b98f2
* improve o3tl::enumarray const-nessNoel Grandin2017-10-252-0/+49
| | | | | | | Change-Id: I7b0d10b024edf604a7dea0e3b1399073f4bcba92 Reviewed-on: https://gerrit.libreoffice.org/43773 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:includeform: o3tlStephan Bergmann2017-10-236-18/+18
| | | | Change-Id: I3cf4cda744148c966d0686310fef5dab6d3a3b35
* const correctness in o3tl::array_viewNoel Grandin2017-09-061-3/+9
| | | | | | | Change-Id: I44c1ace97ae44069c5a0c6a247aa8a0b49896ad3 Reviewed-on: https://gerrit.libreoffice.org/41985 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:oncevarNoel Grandin2017-07-311-3/+3
| | | | | | | | | extend oncevar to any POD type Change-Id: Ia98ee0a67f183e40fb0c38477760124b2c411dc0 Reviewed-on: https://gerrit.libreoffice.org/40564 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* create o3tl::array_viewNoel Grandin2017-06-172-0/+80
| | | | | | | | | | | | | | A very basic implementation of the proposed std::array_view, similar to clang's llvm::ArrayRef. Mostly cribbed from the string_view implementation :-) Use it for the SfxDispatcher::setSlotFilter function Change-Id: Ife7e4971741b41827e145787899872c9b2bea82b Reviewed-on: https://gerrit.libreoffice.org/38817 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* tools: svstream.hxx needs only errcode.hxx & not errinf.hxxChris Sherlock2017-04-251-0/+1
| | | | | | | Change-Id: Ia28e35ae5af4f601e9a586a3deffbcd61702b0ca Reviewed-on: https://gerrit.libreoffice.org/36896 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky2017-04-211-1/+0
| | | | | | | | | Uwinapi is discontinued. Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01 Reviewed-on: https://gerrit.libreoffice.org/23198 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: David Ostrovsky <david@ostrovsky.org>
* Introduce o3tl::string_view.hxx approximation of C++17 <string_view>Stephan Bergmann2017-04-072-0/+213
| | | | | | | | | ...and use it in configmgr/source/writemodfile.hxx Change-Id: Ie683dc21010ed45cc454ff89bea0376994b351f2 Reviewed-on: https://gerrit.libreoffice.org/36270 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Sort lines lexicographicallyStephan Bergmann2017-03-311-2/+2
| | | | Change-Id: I40cb900331493f7cdd13ceca1d5aec93f0c81aca
* Fix typosAndrea Gelmini2017-03-251-1/+1
| | | | | | | Change-Id: I14dca0d55c09187690dc1d94936c40b890ca5cea Reviewed-on: https://gerrit.libreoffice.org/35637 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* fix typo: alreay --> already dennisroczek2017-03-141-2/+2
| | | | | | | Change-Id: Iabb8588a2547c925c2c959f3b4831c89935a9529 Reviewed-on: https://gerrit.libreoffice.org/35133 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:useuniqueptr extend to check local varsNoel Grandin2017-02-011-84/+66
| | | | | | | | | | | just the simple and obvious case for now, of a local var being allocated and deleted inside a single local block, and the delete happening at the end of the block Change-Id: I3a7a094da543debdcd2374737c2ecff91d644625 Reviewed-on: https://gerrit.libreoffice.org/33749 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* coverity#1399266 Uncaught exceptionCaolán McNamara2017-01-241-9/+5
| | | | Change-Id: I1066fda2258e6acbbbad23256f815975564e5e61
* coverity#1371178 Missing move assignment operatorCaolán McNamara2016-09-122-0/+28
| | | | Change-Id: Ib7df699269bcacd5dbf64662c47b538aee9235a5
* CppunitTest_sal_osl_file: fix loplugin:cppunitassertequals warningsMiklos Vajna2016-06-031-9/+9
| | | | | | | Change-Id: Ib0594ba236284aa69d180fb72ce60435b679ea05 Reviewed-on: https://gerrit.libreoffice.org/25852 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
* CppunitTest_o3tl_tests: fix loplugin:cppunitassertequals warnings in ...Miklos Vajna2016-06-021-56/+56
| | | | | | | | | ... sorted_vector Change-Id: Ie6c5f0e187228e2cf7769c62c86ff3cba80ab6ce Reviewed-on: https://gerrit.libreoffice.org/25804 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
* CppunitTest_o3tl_tests: fix loplugin:cppunitassertequals warnings in ...Miklos Vajna2016-05-273-27/+36
| | | | | | | | | ... cow_wrapper and vector_pool Change-Id: I1f224a6bd933592dcb34defd5ad5c480d82346cb Reviewed-on: https://gerrit.libreoffice.org/25531 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
* Fix typosAndrea Gelmini2016-04-301-1/+1
| | | | | | | Change-Id: Id81b16ff26283611f0b84929d831c827f847ab73 Reviewed-on: https://gerrit.libreoffice.org/24317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
* Remove excess newlinesChris Sherlock2016-02-092-3/+0
| | | | | | | | | | | | | | | | | | | A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* remove unused o3tl::rangeDavid Tardon2016-01-292-227/+0
| | | | Change-Id: I080f4f2cb15d25ecf5545300da422957f24e3f9b
* Fix typosAndrea Gelmini2016-01-101-1/+1
| | | | | | | Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
* Fix binary ops with two o3tl::type_flags<E>::Wrap paramsStephan Bergmann2015-09-151-0/+4
| | | | | | | | | | (the original ones would never have been picked due to how template argument deduction works) Change-Id: I5a08c763d721d8e11b5a10af2344a6a24bb0b9b2 Reviewed-on: https://gerrit.libreoffice.org/18583 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
* coverity#1321598 Resource leak in objectCaolán McNamara2015-09-011-3/+2
| | | | | | | | and coverity#1321597 Resource leak in object Change-Id: I6e9e517a394bea60c1f0550b17bacd653eee5cbc
* loplugin:implicitboolconversionStephan Bergmann2015-08-303-17/+17
| | | | Change-Id: Id4561abb96ee8244d4c0b0c9dfce0e2cab1d8b85
* o3tl: add another unit test to cow_wrapperDaniel Robertson2015-08-293-0/+190
| | | | | | | | | Add unit tests to cow_wrapper for the move ctor and move assignment. Change-Id: I82a5886ca7ae110985c7202125699cf95b6466d8 Reviewed-on: https://gerrit.libreoffice.org/18108 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* Revert "create a macro to tidy up the declaration sites of ↵Noel Grandin2015-08-261-1/+4
| | | | | | | | | o3tl::typed_flags_set" sberg did not like this macro, let's see if I can find a better solution. This reverts commit e51fa143587d018b75db08e60cf27ff932b1cf8d.
* o3tl: rename compat_functional headerThorsten Behrens2015-08-171-3/+4
| | | | | | | | | | After the cleanup, the stuff there really stands on its own (and the remaining usage of select1st/2nd is more descriptive than lambdas). Change-Id: I0aba131d5dc550189f8130d167dc94167e404540 Reviewed-on: https://gerrit.libreoffice.org/17806 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* LRU map (cache) implementation to o3tl + testsTomaž Vajngerl2015-07-242-0/+240
| | | | Change-Id: I6b1a39918e6c8c67712be2c8e9907266dcfefedb
* create a macro to tidy up the declaration sites of o3tl::typed_flags_setNoel Grandin2015-07-151-4/+1
| | | | | | | | Change-Id: Ifb8fd4fd5128188420f1dfda6b6f695160d5e77a Reviewed-on: https://gerrit.libreoffice.org/15865 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* cppcheck: noExplicitConstructorCaolán McNamara2015-06-111-1/+1
| | | | Change-Id: Id6291335945a8f10cef3afd1a2b3bae65fdf4562
* loplugin:cstylecast: deal with remaining pointer castsStephan Bergmann2015-06-081-1/+1
| | | | Change-Id: Ic29f424f5eb579ab95907c110529cdc9002443e1
* fdo#84938: replace MOUSE_ modifier constants with enumNoel Grandin2014-11-071-2/+0
| | | | | | | | and make the two categories of constants non-overlapping, we really don't need to risk confusion in order to save 6 bits in a data structure like this. Change-Id: I2251195d8e45ed04e2a89e47ae9c3e52cf0475c0
* bug in typed flagsNoel Grandin2014-11-071-0/+3
| | | | | | | | | | /home/noel/libo2/o3tl/qa/test-typed_flags.cxx:50:52: error: invalid argument type 'typename o3tl::typed_flags<ConfigurationChangedHint>::Wrap' to unary expression ConfigurationChangedHint nHint2 = nHint & ~(ConfigurationChangedHint::ONE | ConfigurationChangedHint::TWO); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. Change-Id: Ia03e1e7d6afff0bdbb87e82ec076d5ffb820afb2
* need explicit bool conversions hereNoel Grandin2014-10-141-2/+2
| | | | | | to make some tinderboxes happy Change-Id: I136895674cec8eda874acda0bf5c7a96b3a22778
* fixes and tests for o3tl::typed_flagsNoel Grandin2014-10-142-0/+64
| | | | | | | | | | | create test suite for typed_flags template. fix the operator&= and operator|= definitions Signed-off-by: Stephan Bergmann <sbergman@redhat.com> Conflicts: include/o3tl/typed_flags_set.hxx Change-Id: I1df9ae197889af98a2fd76ff2bc07756c7b14ced