soa_extent_t Derived Type

type, public :: soa_extent_t

Size and capacity bookkeeping for one SoA container.

Held as a component of the container rather than inherited from a base type: PIC targets compilers whose support for type extension plus type-bound generics is uneven, and composition costs nothing here.


Inherited by

type~~soa_extent_t~~InheritedByGraph type~soa_extent_t soa_extent_t type~particle_soa_t particle_soa_t type~particle_soa_t->type~soa_extent_t extent

Components

Type Visibility Attributes Name Initial
integer(kind=default_int), public :: capacity = 0

Allocated length of every field array.

integer(kind=default_int), public :: used = 0

Number of live elements. This is what size() returns.


Source Code

   type :: soa_extent_t
      !! Size and capacity bookkeeping for one SoA container.
      !!
      !! Held as a component of the container rather than inherited from a base
      !! type: PIC targets compilers whose support for type extension plus
      !! type-bound generics is uneven, and composition costs nothing here.
      integer(default_int) :: used = 0
         !! Number of live elements. This is what `size()` returns.
      integer(default_int) :: capacity = 0
         !! Allocated length of every field array.
   end type soa_extent_t