Where I work we have our own system library, which pretty much is only wrappers around the STL, such as:
template <typename T>
class HVector {
protected:
std::vector<T> data;
public:
int size () const; //Only returns data.size()
int custom(); //Some generic custom function that uses the data vector
}
Most of the class members are just re-declarations of the STL container members, but we also have a few customized functions that do some generic tasks with the container.
Is this a good design? If not, what would be the best way to implement the customized functions around the containers?