Я хотел бы иметь простой способ проверки того, что объект действителен. Я думал о простой функции преобразования, что-то вроде этого:
operator bool() const { return is_valid; }
Проверка того, что он будет действительным, будет очень простым сейчас
// is my object invalid?
if (!my_object) std::cerr << "my_object isn't valid" << std::endl;
Это считается хорошей практикой?