I'm creating a little container class, but I have a design doubt. I'll post here some example code:
Code:
template<T> class useful_class {
public:
void some_func()
{
node *node_;
...
}
...
class iterator {};
class const_iterator {};
private:
struct node {};
...
};
I had then to use a variable of type node inside a function of iterator and const_iterator, so I changed my class like this(friend doesn't seem to work for types, right? only for variables when the type is already known):
Code:
template<T> class useful_class {
public:
struct node {};
void some_func()
{
node *node_;
...
}
...
class iterator {
public:
iterator &operator++()
{
node *node_;
...
}
};
class const_iterator {
public:
const_iterator &operator++()
{
node *node_;
...
}
};
private:
...
};
Not really elegant, but not really a big problem either.Anyway, is it solvable in any other(better) way?