[Example 1: constexprauto source =" \t \t \t hello there";
auto is_invisible =[](constauto x){return x ==' '|| x =='\t'; };
auto skip_ws = drop_while_view{source, is_invisible};
for(auto c : skip_ws){
cout << c; // prints hello there with no leading space} — end example]
Remarks: In order to provide the amortized constant-time complexity
required by the range concept
when drop_while_view models forward_range,
the first call caches the result within the drop_while_view
for use on subsequent calls.