}
void extension_set(std::size_t rank, void* value, bool use_dtor = true)
{
if (rank >= extensions_.size())
extensions_.resize(rank + 1, nullptr);
void* old_value = this->extension(rank);
}
void extension_set(std::size_t rank, void* value, bool use_dtor = true)
{
if (rank >= extensions_.size())
extensions_.resize(rank + 1, nullptr);
void* old_value = this->extension(rank);