Container Data Structures

The drcontainers DynamoRIO Extension provides container data structures that use the DR API for memory allocation and synchronization.


To use drcontainers with your client simply include this line in your client's CMakeLists.txt file:

use_DynamoRIO_extension(clientname drcontainers)

That will automatically set up the include path and library dependence.


The hashtable supports integer, string, and custom hash keys, and has synchronization and memory allocation and deallocation parametrized for flexible usage. See hashtable_init_ex() and related functions.


The DrVector is a simple resizable array.


The DrTable is a resizable array that does not relocate data, enabling a user to use pointers to access array entries directly.