C++ manipulators?
<p>How does the c++ standard define the recognition of manipulators or just manipulators in general?</p>

<p>For example:</p>

<pre><code>using namespace std;
ostream&amp; hello_manip(ostream&amp; os){
  os&lt;&lt;"Hello there, fine fellow!"; return os;
}
int main(){
  cout&lt;&lt;hello_manip;
} 
</code></pre>

<p>The code <strong>cout &lt;&lt; hello_manip</strong> would seem to be translated into <strong>operator&lt;&lt;( cout,  hello_manip )</strong> or <strong>cout.operator&lt;&lt;(hello_manip)</strong>, but instead it takes up the form of <strong>hello_manip( cout )</strong>. </p>
