Merge branch 'array-less-macros'

Use templates to implement the legacy dynamic array classes as much as
possible instead of doing it in macros.

This makes the code much more maintainable and readable as well as
easier to debug.

It also allows to avoid casts between function pointers of incompatible
types, which triggered many -Wcast-function-type warnings from g++ 8.
This commit is contained in:
Vadim Zeitlin
2018-06-10 15:02:08 +02:00
6 changed files with 449 additions and 1057 deletions

View File

@@ -632,13 +632,13 @@ these classes provide a subset or almost complete STL API.
Related Overviews: @ref overview_container
@li wxArray<T>: A type-safe dynamic array implementation (macro based)
@li wxArray<T>: Legacy dynamic array, use srd::vector or wxVector instead.
@li wxArrayString: An efficient container for storing wxString objects
@li wxHashMap<T>: A type-safe hash map implementation (macro based)
@li wxHashSet<T>: A type-safe hash set implementation(macro based)
@li wxHashTable: A simple hash table implementation (deprecated, use wxHashMap)
@li wxList<T>: A type-safe linked list implementation (macro based)
@li wxVector<T>: Template base vector implementation identical to std::vector
@li wxVector<T>: Template base vector implementation identical to std::vector.