关闭

templ 自用

116人阅读 评论(0) 收藏 举报
template <typename T>
class NameComparator
{
public:
    inline bool operator()(const T* s1, const T* s2) const {
        return s1->getName() < s2->getName();
    }
};


class IdComparator
{
public:
    inline bool operator()(const NetlistObj* s1, const NetlistObj* s2) const {
        return s1->getId() < s2->getId();
    }
};


template<typename K, typename T, typename Compare>
class HalfKeySet : public std::set<T*, Compare >
{
public:
    // std::set<T*, Compare, std::allocator<T*> >::const_iterator;
    typedef typename std::set<T*, Compare>::const_iterator const_iterator;
    typedef typename std::set<T*, Compare >::iterator iterator;
    typedef SetIterator<T*, Compare> GeneralIterator;


    using std::set<T*, Compare >::find;
    const_iterator find(const K& name) {
        T key(name);
        return std::set<T*, Compare >::find(&key);
    }


};
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6026次
    • 积分:149
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:26篇
    • 译文:0篇
    • 评论:0条