summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qcontiguouscache.h
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | Reviewed-by: Trust Me
* Change all ptrdiff_t to qptrdiff.Thiago Macieira2010-02-171-1/+1
| | | | Reviewed-By: Bradley T. Hughes
* Fix for using QContiguousCache with default constructor or capacity=0Zeno Albisser2010-02-151-14/+21
| | | | Reviewed-by: Peter Hartmann
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | Reviewed-by: Trust Me
* Fix compilation in QContiguousCache.Thiago Macieira2009-10-291-3/+3
| | | | Reviewed-by: TrustMe
* Initialise the reserved bits to 0.Thiago Macieira2009-10-281-1/+2
| | | | | | | This is future compatibility: we must rely on them being 0 in older versions of Qt. Reviewed-by: Bradley T. Hughes
* Fix Qt containers to properly support types with strict alignments.Thiago Macieira2009-10-281-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | QContiguousCache is a new type, so there are no binary compatibility issues. QHash and QMap didn't have any public qMalloc / qFree, so the entire logic is contained in .cpp code. However, since old code will not inform us of the alignment requirements, we need to add a bit to the structure to indicate whether strict alignment is in use or not. QList doesn't require any changes. For small, movable types, they're all stored in the pointer array itself, so they're aligned. For larger types, we use new(), so types with stricter requirements should define their own operator new(). QLinkedList cannot be fixed. It uses new() on the QLinkedListNode, which contains a T type. Sorry. QVector did have public qMalloc / qFree. I've moved the calls to the inner function and made it keep the old calls if the alignment requirement is below a certain threshold. The idea is that, if it's above, no one was using QVector anyway. Reviewed-by: Bradley T. Hughes
* Add some STL compatibility for QContiguousCache and private inheritanceThiago Macieira2009-10-281-60/+65
| | | | | | | | The private inheritance ensures that we don't try to access the types under the wrong pointer. If we did that, we'd cause strict aliasing violations. Reviewed-by: Olivier Goffart
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | Reviewed-by: Trust Me
* Fix compilation: add #include <new> if placement new is usedThiago Macieira2009-07-311-0/+7
| | | | | | | | | | | | I'm not sure this is the proper fix, though. xlC 7 complains with: "/usr/vacpp/include/new", line 97.10: 1540-1298 (I) "void *operator new(size_t, void *) throw()" needs to be declared in the containing scope to be found by name lookup. Also add some calculations to the padding in the data structure. Reviewed-by: Trust Me
* Silence compiler warnings on shadowing of member functions.Volker Hilsheimer2009-07-211-11/+11
|
* Update license headers in files that are new in 4.6.Jason McDonald2009-06-171-2/+2
| | | | Reviewed-by: Trust Me
* Protect dump function by ifdef.Ian Walters2009-05-251-1/+7
| | | | | Use the same pattern for protecting the dump function as qmap.h and qhash.h employ.
* Various fixes resulting from QA code review.Ian Walters2009-05-121-17/+15
| | | | | | | Some documentation fixes. More clear handling of what is and isn't a valid indexes. Added functions for the 'really long lived circular buffer use case' Improved unit tests.
* Update licensing headers.Ian Walters2009-04-071-3/+43
| | | | | Update files to have consistent licencesing with the rest of Qt.
* Rename OffsetVector to ContiguousCacheIan Walters2009-04-031-0/+386