template
class gapbuffer : protected std::vector >
{
/*
public:
typedef std::allocator A;
typedef gapbuffer self_type;
#endif
*/
typedef std::vector base_type;
typedef typename base_type::size_type size_type;
typedef typename base_type::value_type value_type;
typedef typename base_type::reference reference;
typedef typename base_type::const_reference const_reference;
typedef typename base_type::pointer pointer;
typedef typename base_type::const_pointer const_pointer;
typedef typename base_type::iterator base_iterator;
typedef typename base_type::const_iterator const_base_iterator;
private:
//unsigned int -> size_type;
size_type gb_, ge_;
const size_type initGapSize_;
public:
template
class iterator_base : public std::random_access_iterator_tag {
public:
typedef T value_type;
//typedef typename Traits::value_type value_type;
typedef typename Traits::pointer pointer;
typedef typename Traits::reference reference;
typedef iterator_base<
T,
policy::non_const_traits
,Boss
> iterator;
//以下略 キーワード