Получение ссылки на bool из std :: vector <bool>

Я знаю, что это плохая привычка, но я бы хотел найти способ обойти эту проблему. У меня есть такой класс:

template <class T>
class A : std::vector<T> {
  T& operator()(int index) { // returns a _reference_ to an object
    return this->operator[](index);
  }
};

Можно сделать такие вещи:

A<int> a{1,2,3,4};
a(3) = 10;

Но он перестает работать, если кто-то используетBOOL в качестве параметра шаблона

A<bool> a{true, false, true};
std::cout << a(0) << std::endl; // not possible
if (a(1)) { /* something */ }   // not possible

std::vector<bool> это специализированная версия вектора (http://www.cplusplus.com/reference/vector/vector-bool/) который не позволяет такие вещи.

Есть ли способ, как получить ссылку на логическую переменную из std :: Vector? Или любое другое решение?

Ответы на вопрос(2)

Ваш ответ на вопрос