メインページ | ネームスペース一覧 | クラス階層 | アルファベット順一覧 | 構成 | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

item_container.hxx

説明を見る。
00001 #ifndef ITEM_CONTAINER_HXX_
00002 # define ITEM_CONTAINER_HXX_
00003 
00004 # include "item_container.hh"
00005 # include "item_name.hh"
00006 
00007 namespace objects
00008 {
00009   inline bool ItemContainer::operator ==(const ItemContainer &i) const
00010   {
00011     return this == &ItemContainer::get(i.get_id());
00012   }
00013   
00014   inline int 
00015   ItemContainer::get_item_count() const
00016   {
00017     return (int)_item_map.size();
00018   }
00019   
00020   inline const ItemContainer::PossessedItemMap &
00021   ItemContainer::get_item_map() const
00022   {
00023     return _item_map;
00024   }
00025 
00026   inline int ItemContainer::get_free_slot_count() const
00027   {
00028     return get_capacity() - get_item_count();
00029   }
00030 
00031   template<int ITEM_CONTAINER_ID, int CAPACITY>
00032     DefItemContainer<ITEM_CONTAINER_ID, CAPACITY>::DefItemContainer() : ItemContainer()
00033   {
00034   }
00035 
00036   template<int ITEM_CONTAINER_ID, int CAPACITY>
00037   void 
00038   DefItemContainer<ITEM_CONTAINER_ID, CAPACITY>::accept(ItemVisitor &iv)
00039   {
00040     iv(*this);
00041   }
00042 
00043   template<int ITEM_CONTAINER_ID, int CAPACITY>
00044   int 
00045   DefItemContainer<ITEM_CONTAINER_ID, CAPACITY>::get_id() const
00046   {
00047     return DefItemContainer<ITEM_CONTAINER_ID,CAPACITY>::id;
00048   }
00049 
00050   template<int ITEM_CONTAINER_ID, int CAPACITY>
00051   const std::string &
00052   DefItemContainer<ITEM_CONTAINER_ID, CAPACITY>::get_name()
00053   {
00054     ItemName in;
00055     in(*this);
00056     return in.result();
00057   }
00058 
00059   template<int ITEM_CONTAINER_ID, int CAPACITY>
00060   void
00061   DefItemContainer<ITEM_CONTAINER_ID, CAPACITY>::print(std::ostream &os)
00062   {
00063     os << get_name();
00064   }
00065 
00066   template<int ITEM_CONTAINER_ID, int CAPACITY>
00067   inline int 
00068   DefItemContainer<ITEM_CONTAINER_ID, CAPACITY>::get_capacity() const
00069   {
00070     return CAPACITY;
00071   }
00072 
00073   inline std::ostream &
00074   operator <<(std::ostream &os, const ItemContainer &ic)
00075   {
00076     (const_cast<ItemContainer &>(ic)).print(os);
00077     return os;
00078   }
00079 }
00080 
00081 #endif

Cronous Emulatorに対してWed Aug 17 06:01:25 2005に生成されました。  doxygen 1.4.2-20050421