#include <iostream>
#include <iterator>
#include <string>
#include <algorithm>
int main( int , char ** ) {
std:: vector < char > buffer{ std:: istream_iterator < char > { std:: cin >> std:: noskipws } , std:: istream_iterator < char > { } } ;
auto input = buffer.begin ( ) ;
auto const end = buffer.end ( ) ;
std:: string const start_delimiter{ "-Ingredients\n " } ;
std:: string const end_delimiter{ "\n -Preparation" } ;
input = std:: search (
input, end,
start_delimiter.begin ( ) , start_delimiter.end ( ) ) ;
while ( input ! = end) {
std:: advance ( input, start_delimiter.size ( ) ) ;
auto stop = std:: search ( input, end, end_delimiter.begin ( ) , end_delimiter.end ( ) ) ;
// ------ Use --------
std:: string ingredients{ input, stop} ;
std:: cout << "Found:\n " << ingredients << std:: endl ;
// -------------------
std:: advance ( stop, end_delimiter.size ( ) ) ;
input = std:: search ( stop, end,
start_delimiter.begin ( ) , start_delimiter.end ( ) ) ;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxhbGdvcml0aG0+CgoKCgppbnQgbWFpbihpbnQsIGNoYXIqKikgewogc3RkOjp2ZWN0b3I8Y2hhcj4gYnVmZmVye3N0ZDo6aXN0cmVhbV9pdGVyYXRvcjxjaGFyPntzdGQ6OmNpbiA+PiBzdGQ6Om5vc2tpcHdzfSwgc3RkOjppc3RyZWFtX2l0ZXJhdG9yPGNoYXI+e319OwogYXV0byBpbnB1dCA9IGJ1ZmZlci5iZWdpbigpOwogYXV0byBjb25zdCBlbmQgPSBidWZmZXIuZW5kKCk7CiBzdGQ6OnN0cmluZyBjb25zdCBzdGFydF9kZWxpbWl0ZXJ7Ii1JbmdyZWRpZW50c1xuIn07CiBzdGQ6OnN0cmluZyBjb25zdCBlbmRfZGVsaW1pdGVyeyJcbi1QcmVwYXJhdGlvbiJ9OwogaW5wdXQgPSBzdGQ6OnNlYXJjaCgKICAgaW5wdXQsIGVuZCwKICAgc3RhcnRfZGVsaW1pdGVyLmJlZ2luKCksIHN0YXJ0X2RlbGltaXRlci5lbmQoKSk7CiB3aGlsZSAoaW5wdXQgIT0gZW5kKSB7CiAgc3RkOjphZHZhbmNlKGlucHV0LCBzdGFydF9kZWxpbWl0ZXIuc2l6ZSgpKTsKICBhdXRvIHN0b3AgPSBzdGQ6OnNlYXJjaChpbnB1dCwgZW5kLCBlbmRfZGVsaW1pdGVyLmJlZ2luKCksIGVuZF9kZWxpbWl0ZXIuZW5kKCkpOwogIC8vIC0tLS0tLSBVc2UgLS0tLS0tLS0KICBzdGQ6OnN0cmluZyBpbmdyZWRpZW50c3tpbnB1dCwgc3RvcH07CiAgc3RkOjpjb3V0IDw8ICJGb3VuZDpcbiIgPDwgaW5ncmVkaWVudHMgPDwgc3RkOjplbmRsOwogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0KICBzdGQ6OmFkdmFuY2Uoc3RvcCwgZW5kX2RlbGltaXRlci5zaXplKCkpOwogIGlucHV0ID0gc3RkOjpzZWFyY2goc3RvcCwgZW5kLAogICAgc3RhcnRfZGVsaW1pdGVyLmJlZ2luKCksIHN0YXJ0X2RlbGltaXRlci5lbmQoKSk7CiB9CiByZXR1cm4gMDsKfQ==
stdin
QmxhaCBibGFoCi1JbmdyZWRpZW50cwpBIEIKYW5kCm9mIGNvdXJzZQpDCi1QcmVwYXJhdGlvbgpDb29rIGl0PwoKLU1vcmUgYmxhaCBibGEKCi1JbmdyZWRpZW50cwotIENvb2wgU3R1ZmYKLSBIb3QgU3R1ZmYKT3RoZXIgdGhpbmdzCi1QcmVwYXJhdGlvbgpBYnNvbHV0ZWx5IG5vIGlkZWE=
Blah blah
-Ingredients
A B
and
of course
C
-Preparation
Cook it?
-More blah bla
-Ingredients
- Cool Stuff
- Hot Stuff
Other things
-Preparation
Absolutely no idea