I was just curious to know how lower_bound and upper_bound functions in C++ STL work using comparators. I could not understand how they actually work using the documentation