#include <experimental/optional>

#include <vector>

#include <algorithm>

#include <iostream>

template<typename t>
using optional = std::experimental::fundamentals_v1::optional<t>;

int main()
{
	auto nullopt = std::experimental::fundamentals_v1::nullopt;
	
	std::size_t nResults = 10;
	std::vector<optional<std::size_t> > sizes(nResults, nullopt);
	
	sizes[4] = 400;
	sizes[7] = 500;
	
	for(std::size_t i = 0; i < sizes.size(); ++i)
	{
		if(sizes[i])
			std::cout<< "size at index " << i << ": " << *sizes[i];
		else
			std::cout<< "no size computed at index " << i;
		std::cout<< "\n";
	}
}