Skip to content
  • Mark OLESEN's avatar
    ENH: add List::resize_unsafe(label) · 96c9bf86
    Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
    - changes the addressed list size without affecting list allocation.
      Can be useful for the following type of coding pattern:
    
      - pre-allocate a List with some max content length
      - populate with some content (likely not the entire pre-allocated size)
      - truncate the list to the length of valid content
      - process the List
      - discard the List
    
      Since the List is being discarded, using resize_unsafe() instead of
      resize() avoids an additional allocation with the new size and
      copying/moving of the elements.
    
      This programming pattern can also be used when the List is being
      returned from a subroutine, and carrying about a bit of unused memory
      is less important than avoiding reallocation + copy/move.
    
      If used improperly, it can obviously result in addressing into
      unmanaged memory regions (ie, 'unsafe').
    96c9bf86