Groups | Search | Server Info | Login | Register


Groups > comp.lang.ada > #49498

Custom Storage Pool questions

Newsgroups comp.lang.ada
Date 2021-09-12 17:53 -0700
Message-ID <e3c5c553-4a7f-408a-aaa7-60ec0b70202dn@googlegroups.com> (permalink)
Subject Custom Storage Pool questions
From Jere <jhb.chat@gmail.com>

Show all headers | View raw


I was learning about making user defined storage pools when
I came across an article that made me pause and wonder how
portable storage pools actually can be.  In particular, I assumed
that the Size_In_Storage_Elements parameter in the Allocate 
operation actually indicated the total number of storage elements 
needed.

procedure Allocate(
      Pool : in out Root_Storage_Pool;
      Storage_Address : out Address;
      Size_In_Storage_Elements : in Storage_Elements.Storage_Count;
      Alignment : in Storage_Elements.Storage_Count) is abstract;

But after reading the following AdaCore article, my assumption is now
called into question:
https://blog.adacore.com/header-storage-pools

In particular, the blog there advocates for separately counting for 
things like unconstrained array First/Last indices or the Prev/Next
pointers used for Controlled objects.  Normally I would have assumed
that the Size_In_Storage_Elements parameter in Allocate would account
for that, but the blog clearly shows that it doesn't

So that seems to mean to make a storage pool, I have to make it 
compiler specific or else risk someone creating a type like an
array and my allocation size and address values will be off.

Is it intended not to be able to do portable Storage Pools or am
I missing some Ada functionality that helps me out here.  I 
scanned through the list of attributes but none seem to give
any info about where the object's returned address is relative
to the top of the memory actually allocated for the object.  I saw
the attribute Max_Size_In_Storage_Elements, but it doesn't seem
to guarantee to include things like the array indices and it still
doesn't solve the issue of knowing where the returned address
needs to be relative to the top of allocated memory.

I can easily use a generic to ensure that the types I care about
are portably made by the pool, but I can't prevent someone from
using my pool to create other objects that I hadn't accounted for.
Unless there is a way to restrict a pool from allocating objects 
of other types?

Back to comp.lang.ada | Previous | NextNext in thread | Find similar


Thread

Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-12 17:53 -0700
  Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-13 00:29 -0500
    Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-13 18:04 -0700
      Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:06 -0500
    Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-18 12:32 +0100
    Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-19 17:31 -0700
      Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 09:34 +0300
        Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-19 23:48 -0700
          Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 09:35 +0200
          Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-09-20 09:59 -0700
          Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:50 -0500
            Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-21 16:08 -0700
              Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:42 -0500
                Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-10-02 16:19 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-03 10:52 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:26 -0500
  Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-13 13:12 +0200
    Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-13 17:48 -0700
      Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-14 08:08 +0200
        Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:39 -0700
          Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 08:01 +0100
            Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-16 16:32 -0700
              Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:51 -0500
                Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-21 15:40 -0700
      Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-14 08:23 +0200
        Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-14 08:42 +0200
          Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-14 09:00 +0200
          Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:58 -0500
        Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:21 -0700
          Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-15 08:54 +0200
        Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:48 -0500
      Re: Custom Storage Pool questions Egil H H <ehh.public@gmail.com> - 2021-09-14 03:54 -0700
        Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:11 -0700
  Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 17:43 +0100
    Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 18:03 +0100
    Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-15 21:07 +0200
      Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 21:40 +0100
        Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-16 00:12 -0700
          Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-16 16:21 -0700
            Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-17 00:08 -0700
            Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-17 08:18 +0100
            Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-17 15:56 +0200
              Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-17 20:46 +0100
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-17 22:39 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 00:17 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 09:49 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 12:03 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 12:22 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 18:59 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 18:19 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-19 13:36 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-19 13:41 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 10:05 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 09:35 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 11:08 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 10:28 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:45 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:40 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:30 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:37 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-21 08:28 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:38 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 09:00 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:26 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-21 08:51 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:31 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 08:56 +0200
                Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-28 08:52 +0100
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 10:07 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-28 17:04 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-29 09:57 +0200
                Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-09-29 07:41 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-29 17:16 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-29 19:16 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-30 10:08 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:04 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-01 10:25 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 04:06 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-02 12:18 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 23:33 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-03 10:40 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:21 -0500
                Re: Custom Storage Pool questions "philip...@gmail.com" <philip.munts@gmail.com> - 2021-10-13 20:12 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-14 09:31 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-14 19:36 -0500
                Re: Custom Storage Pool questions Stephen Leake <stephen_leake@stephe-leake.org> - 2021-10-15 01:08 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 10:18 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:22 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 10:15 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:44 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 11:00 +0200
                Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-10-16 15:32 +0100
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 17:06 +0200
                Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-10-18 07:23 -0700
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:19 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:18 -0500
        Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-16 10:41 +0200

csiph-web