#include <iostream>

#include <boost/optional.hpp>
 
struct A
{
 
};
 
int main()
{
    boost::optional <A> opt;
    opt = {}; // nope!
    if (opt)
        std::cout << "is initialized?\n";
    opt = A{};
    if (opt)
        std::cout << "is initialized now!\n";
    return 0;
}