title: std::find vs. deriving template from vector
body: <p>I use vectors a lot in my programming, and generally to traverse a vector for an existing value I use <strong>std::find</strong> as in:</p>
  
  <pre><code>std::vector&lt;int&gt; foo;
  std::vector&lt;int&gt;::iterator pos( std::find( foo.begin(), foo.end(), bar );
  </code></pre>
  
  <p>This is a real bore. So I went to deriving a template from <strong>std::vector</strong> to provide a <strong>find</strong> method:</p>
  
  <pre><code>template&lt;class T&gt;
  class foovector : public std::vector&lt;T&gt;
  {
  public:
      typename std::vector&lt;T&gt;::iterator find( const T&amp; value )
      {
          return std::find( this-&gt;begin(), this-&gt;end(), value );
      }
  };
  </code></pre>
  
  <p>And so now I can do find's more naturally:</p>
  
  <pre><code>foovector&lt;int&gt; foo;
  foovector&lt;int&gt;::iterator pos( foo.find( bar ) );
  </code></pre>
  
  <p>My question is that this seems such a natural and obvious extension to vector, so why isn't it part of the <strong>STL</strong> or even <strong>boost</strong>? I feel like I'm missing some Arcane Knowledge here.</p>