jwbarton:
Did I say that compiler never inlines any thing even if you declare inline? I never said that.
All I said is those one zillion "inline" keyword you find in STL source code, none of them could cause the compiler to cause any of the STL function to be actually inlined. NONE.
In you example, the operator() is a function YOU defined (not STL!!!) with inline, and compiler choose to inline them. However the fact remains that NONE of the STL functions are actually inlined. What you saw inlined was your own operator(), which was not from STL.
