ENH: eliminate reliance on SLList during reading

- fully implement DynamicList::readList() instead of simply
  redirecting to List::readList(). This also benefits DynamicField.
  Leverage DynamicList reading to simplify and improve CircularBuffer
  reading.

- bracket lists are now read chunk-wise instead of using a
  singly-linked list. For integral and vector-space types
  (eg, scalar, vector, etc) this avoids intermediate allocations
  for each element.

ENH: add CircularBuffer emplace_front/emplace_back

STYLE: isolate to-be-deprecated construct/assign forms

- still have construct/assign FixedList from a C-array.
  This is not really needed, can use std::initializer_list

- still have construct/assign List from SLList.
  Prefer to avoid these in the future.

DEFEATURE: remove construct/assign FixedList from SLList

- never used

DEFEATURE: remove move construct/assign List from SLList

- now unused. Retain copy construct/assign from SLList for transition
  purposes.
This commit is contained in:
Mark Olesen
2023-08-04 12:33:06 +02:00
parent 7828067ef6
commit fabd3f4e0c
20 changed files with 850 additions and 263 deletions

View File

@ -0,0 +1,3 @@
Test-ListRead1.C
EXE = $(FOAM_USER_APPBIN)/Test-ListRead1