boost:: дополнительная поддержка in_place, например:
#include <boost/optional.hpp>
#include <boost/utility/typed_in_place_factory.hpp>
class Foo
{
int a,b;
public:
Foo(int one, int two) : a(one),b(two) {}
};
int main()
{
boost::optional<Foo> fooOpt(boost::in_place<Foo>(1,3));
}
Как только у нас есть инициализированный fooOpt, есть ли способ присвоить ему новый Foo без создания временного?
Что-то вроде:
fooOpt = boost::in_place<Foo>(1,3);
Спасибо!