std::binary_search()

どうもです。

std::binary_search() で気になったこと。
これは仕様?

#include <vector>
#include <algorithm>
#include <cassert>

using namespace std;

int main()
{
  int array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, };
  vector<int> vec(array, array + 10);

  // ん? assert がこけないぞ。仕様?
  assert(binary_search(vec.begin() + 1, vec.begin() + 1, 1) == true);

  return 0;
}


知っている人いたら教えて下さいまし。