Compiler error:

error: type ’std::deque<T_Shell<T>::builtin, std::allocator<T_Shell<T>::builtin> >’
is not derived from type ‘T_Shell<T>’

Fix: Change

typedef deque<builtin>::const_iterator cBuiltinIterator;

To:

typedef typename deque<builtin>::const_iterator cBuiltinIterator;