Check Out

Upcoming submissions (Wiki CFP)

Loading...

Recent Posts

Using "vector" C++ STL class

Let's define as followings
template<typename __Tp> class __vector_based : public std::vector<__Tp>
{
public:
   typedef typename std::vector<__Tp>::iterator iterator;
   typedef typename std::vector<__Tp>::reverse_iterator reverse_iterator;
public:
   __vector_based() { };
   virtual ~__vector_based() { clear(); };
public:
   virtual void clear() {
      iterator i;
      for (i = std::vector<__Tp>::begin(); i != std::vector<__Tp>::end(); i++)
         delete *i;
      std::vector<__Tp>::clear();
   };
   __Tp at(int __i)
   {
   if (__i < 0)
      return at(int(std::vector<__Tp>::size()) + __i);
   else if (__i >= int(std::vector<__Tp>::size()))
      return at(__i - int(std::vector<__Tp>::size()));
   return std::vector<__Tp>::at(__i);
   };
   __Tp operator[] (int __i) { return at(__i); };
protected:
};

Now, use like this
typedef struct
{
// fiels
} user_type_t;
class user_type : public __vector_based
{
public:
public:
protected:
};

0 comments:

Post a Comment