/*! * bnf::List * * Copyright (c) 2007 tkuri {at} fat.coara.or.jp */ #ifndef BNF_LIST_HPP_ #define BNF_LIST_HPP_ // ここでは実体として std::list を使っています. // プロジェクトの都合にあわせて実装しなおしてください. #include namespace bnf { /*! * List */ template class List { typedef std::list list_t; list_t body_; public: typedef typename list_t::iterator iterator; typedef typename list_t::const_iterator const_iterator; /*! * 要素追加 */ void add(T const & obj) { body_.push_back(obj); } /*! * イテレータ */ iterator begin() { return body_.begin(); } iterator end() { return body_.end(); } const_iterator begin() const { return body_.begin(); } const_iterator end() const { return body_.end(); } /*! * デストラクタ */ ~List() { } }; } // end of namespace #endif // BNF_LIST_HPP_