VC2003 を使っています。
STLのvectorを参考に、自前のクラスにイテレーターっぽい機能を付けてみようとして、
行き詰まっています。

以下のようなコードを書いているのですが、begin() がインライン展開されません。
vectorのbegin() はインライン展開されているみたいで、何が違うのか分からないです。

class B
{
public:
A* aa;
class iterator : public std::iterator<std::random_access_iterator_tag, double, ptrdiff_t, double*, double>
{
A* a;

public:
iterator( A* _a ) : a( _a )
{
};

~iterator( void )
{
};
};

B( void ) : aa( NULL ) {};
~B( void ){};
iterator begin()
{
return( iterator( aa ) );
};
};