#include <iostream> /* C++ iostream C++98/11 */
#include <string> /* C++ strings C++98/11 */
#include <boost/regex.hpp> /* RegEx Boost */
#include <boost/optional.hpp>
#include <boost/optional/optional_io.hpp>
int main() {
boost::optional<size_t> segment_idx_1 = boost::none;
boost::optional<size_t> segment_idx_2 = 1;
if(segment_idx_1){
std::cout << "1 -- segment_idx_1 = " << segment_idx_1.value() << std::endl;
}
else{
std::cout << "2 -- segment_idx_1 is none" << std::endl;
}
if(segment_idx_2){
size_t res = segment_idx_2.value();
std::cout << "3 -- segment_idx_2 = " << res << std::endl;
}
else{
std::cout << "4 -- segment_idx_2 is none "<< std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAgICAgICAgICAgICAgICAvKiBDKysgaW9zdHJlYW0gICAgICAgICAgICBDKys5OC8xMSAqLwojaW5jbHVkZSA8c3RyaW5nPiAgICAgICAgICAgICAgICAgIC8qIEMrKyBzdHJpbmdzICAgICAgICAgICAgIEMrKzk4LzExICovCiNpbmNsdWRlIDxib29zdC9yZWdleC5ocHA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVnRXggICAgICAgICAgICAgICAgICAgQm9vc3QgICovCiNpbmNsdWRlIDxib29zdC9vcHRpb25hbC5ocHA+CiNpbmNsdWRlIDxib29zdC9vcHRpb25hbC9vcHRpb25hbF9pby5ocHA+CiAKaW50IG1haW4oKSB7CiAKYm9vc3Q6Om9wdGlvbmFsPHNpemVfdD4gc2VnbWVudF9pZHhfMSA9IGJvb3N0Ojpub25lOwpib29zdDo6b3B0aW9uYWw8c2l6ZV90PiBzZWdtZW50X2lkeF8yID0gMTsKCmlmKHNlZ21lbnRfaWR4XzEpewoJc3RkOjpjb3V0IDw8ICIxIC0tIHNlZ21lbnRfaWR4XzEgPSAiIDw8IHNlZ21lbnRfaWR4XzEudmFsdWUoKSA8PCBzdGQ6OmVuZGw7CgkKfQplbHNlewoJc3RkOjpjb3V0IDw8ICIyIC0tIHNlZ21lbnRfaWR4XzEgaXMgbm9uZSIgPDwgc3RkOjplbmRsOwoJCn0KCmlmKHNlZ21lbnRfaWR4XzIpewoJc2l6ZV90IHJlcyA9IHNlZ21lbnRfaWR4XzIudmFsdWUoKTsKCXN0ZDo6Y291dCA8PCAiMyAtLSBzZWdtZW50X2lkeF8yID0gIiA8PCByZXMgPDwgc3RkOjplbmRsOwoJCn0KZWxzZXsKCXN0ZDo6Y291dCA8PCAiNCAtLSBzZWdtZW50X2lkeF8yIGlzIG5vbmUgIjw8IHN0ZDo6ZW5kbDsKCQp9Cn0=