- 632 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 15:54:26 ]
- 無理やり
template<typename T, template<class> class Comp> class eval_lapper { public: eval_lapper( std::pair<T, T> rhs ) : obj_(rhs.first), target_(rhs.second) {} operator bool() const { return Comp<T>()(obj_, target_); } T& obj() { return obj_; } const T& obj() const { return obj_; } private: T obj_; T target_; }; int main() { std::set<int> s; //s.insert(123); if( eval_lapper<std::set<int>::const_iterator, std::not_equal_to > it = std::make_pair( s.find(123), s.end() ) ) std::cout << *(it.obj()) << std::endl; return 0; }
|

|