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

@@ -6,6 +6,8 @@
/////////////////////////////////////////////////////////////////////////////
/**
The legacy dynamic array class, existing for compatibility only and @e NOT
to be used in the new code.
This section describes the so called @e "dynamic arrays". This is a C
array-like type safe data structure i.e. the member access time is constant