title: Does it make any sense to use inline keyword with templates?
body: <p>Since templates are defined within headers and compiler is able to determine if inlining a function is advantageous, does it make any sense? I've heard that modern compilers know better when to inline a function and are ignoring <code>inline</code> hint.</p>
  <hr />
  <p>edit: I would like to accept both answers, but this is not possible. To close the issue I am accepting <strong>Sebastian Mach</strong>'s answer, because it received most votes and he is formally right, but as I mentioned in comments I consider <strong>Puppy</strong>'s and <strong>Component 10</strong>'s answers as correct ones too, from different point of view.</p>
  <p>The problem is in C++ semantics, which is not strict in case of <code>inline</code> keyword and inlining. <strong>Sebastian Mach</strong> says &quot;write inline if you mean it&quot;, but what is actually meant by <code>inline</code> is not clear as it evolved from its original meaning to a directive that &quot;stops compilers bitching about ODR violations&quot; as <strong>Puppy</strong> says.</p>