Minimal_containers

Website:

https://github.com/simonjwright/minimal_containers

Author:
  • Simon Wright
Maintainer:
  • Simon Wright <simon@pushface.org>
License:

GPL-3.0-or-later WITH GCC-exception-3.1

Version:

1.0.0

Alire CI:

Dependencies:

No dependency.

Dependents:

No dependents.

Badge:

Much reduced version of Ada.Containers (bounded Maps, Vectors)

#containers

The motivation for these containers was use in ColdFrame, an open-source code generator backend for use with UML tools in a restricted environment (a BBC micro:bit).

In such an environment, it’s normal to strip out unused code and data at link time (-gc-sections with GNU ld, -dead_strip with Apple ld).

Unfortunately, it turns out that no primitive subprograms of tagged types can be stripped (they are all referenced by the dispatch table).

These containers are still tagged, because (without compiler extensions) ColdFrame expects to use prefixed notation (object.primitive subprogram (…), as would users). However, the number of subprograms has been much reduced.