Dequesterity – General Purpose Buffer Containers

Judging from his Dequesterity library, Brad Moore (the author) is a bit of an Ada expert. It is advanced stuff, that honestly is far beyond my capabilities. So instead of me trying to explain what Dequesterity is, I’ll just quote Brad himself:

Dequesterity is a set of Ada 2005 generics that provide various forms of general purpose buffer containers. Buffers may be used as deques, queues, ring buffers, stacks, double ended stacks, vectors, and similar abstractions. The generics are combinable and pluggable such that lower level buffer implementations may be combined with higher level buffer generics to create a wide selection of buffer types with specific sets of functionality. Lower level buffer implementations include bounded and unbounded buffer forms. Higher level buffer implementations add concurrency support, and streaming capabilities. Buffer instances may be streamed, or may be accessed remotely using the Distributed Systems Annex. Most buffers can store their state persistently. Some buffer implementations operate entirely on secondary (file based) storage. The buffers may be instantiated with user defined types, and indefinite buffer forms also exist. The interface to the buffers is modelled after the Ada 2005 container library.

So there you have it. High level Ada programming, or as Marc C. said it when he posted about this library at the Ada Reddit:

Dude has the chops!

Well said Marc!

You can read Brad Moore’s release announcement here and you can get to the code here.

Leave a Reply