00001 /* ntesukiMoveList.h 00002 */ 00003 #ifndef _NTESUKI_MOVELIST_H 00004 #define _NTESUKI_MOVELIST_H 00005 00006 #include "osl/ntesuki/ntesukiMove.h" 00007 #include "osl/ntesuki/ntesukiExceptions.h" 00008 #include "osl/state/numEffectState.h" 00009 #include "osl/container/moveVector.h" 00010 #include "osl/move_classifier/moveAdaptor.h" 00011 #include "osl/move_classifier/check_.h" 00012 #include "osl/stl/slist.h" 00013 #include <cassert> 00014 #include <algorithm> 00015 #include <iterator> 00016 #include <iosfwd> 00017 00018 namespace osl 00019 { 00020 namespace ntesuki 00021 { 00022 // TODO: ٤ 00023 typedef slist<NtesukiMove> NtesukiMoveListBase; 00027 class NtesukiMoveList : public NtesukiMoveListBase 00028 { 00029 public: 00030 NtesukiMoveList(); 00031 NtesukiMoveList(const NumEffectState& state, 00032 const osl::MoveVector& mv); 00033 00043 NtesukiMove* add(const NtesukiMove& move); 00044 const NtesukiMove& find(const NtesukiMove& move) const; 00045 }; 00046 std::ostream& operator<<(std::ostream&, const NtesukiMoveList&); 00047 } // namespace ntesukimate 00048 } // namespace osl 00049 00050 #endif /* _NTESUKI_MOVELIST_H */ 00051 // ;;; Local Variables: 00052 // ;;; mode:c++ 00053 // ;;; c-basic-offset:2 00054 // ;;; End: