#ifndef _COMMON_BINARYSEARCH_HPP_ #define _COMMON_BINARYSEARCH_HPP_ #ifndef _COMMON_ARRAY_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif template class BinarySearch { public: BinarySearch(Array &sortedVector); ~BinarySearch(); WORD searchItem(const T &desiredItem,T &foundItem); WORD searchItem(const T &desiredItem,Block &foundItems); private: WORD searchItem(const T &desiredItem,T &foundItem,LONG &foundIndex); DWORD itemCount(void)const; Array &mSortedVector; DWORD mItemCount; }; template inline BinarySearch::BinarySearch(Array &sortedVector) : mSortedVector(sortedVector), mItemCount(mSortedVector.size()) { } template inline BinarySearch::~BinarySearch(void) { } template inline DWORD BinarySearch::itemCount(void)const { return mItemCount; } #if defined(_MSC_VER) #include #endif #endif