std::istreambuf_iterator<CharT,Traits>::operator*, operator->
From cppreference.com
                    
                                        
                    < cpp | iterator | istreambuf iterator
                    
                                                            
                    | CharT operator*() const; | (1) | |
| pointer operator->() const; | (2) | (since C++11) (until C++17) | 
Reads a single character by calling sbuf_->sgetc() where sbuf_ is the stored pointer to the stream buffer.
The behavior is undefined if the iterator is end-of-stream iterator.
Parameters
(none)
Return value
1) The value of the obtained character.
2) An object of unspecified type, such that given an istreambuf iterator 
i, the expressions (*i).m and i->m have the same effect. Exceptions
May throw implementation-defined exceptions.