title: What are the inlining rules within C++ classes?
body: <p>From what I read somewhere long time ago, it seems that if you want class member function to be inlined during the compilation phase, the function has to be defined inside class declaration block.</p>
  
  <p>But this has a downside of a detail leak. IMHO, other programmers should only see class interface when opening .h file.</p>
  
  <p>Is the first statement still true in modern C++, was it ever? Is there a way to force inlining for functions that are declared, preferably in another file altogether?</p>
  
  <p>Is it generally better to keep short member functions inside class declaration block, or not?</p>