psn.h
Go to the documentation of this file.
00001 /* psn.h
00002  */
00003 #ifndef OSL_PSN_H
00004 #define OSL_PSN_H
00005 
00006 #include "osl/move.h"
00007 #include <string>
00008 #include <stdexcept>
00009 namespace osl
00010 {
00011   namespace state
00012   {
00013     class SimpleState;
00014   }
00015   namespace record
00016   {
00021     namespace psn
00022     {
00023       class ParseError : public std::invalid_argument
00024       {
00025       public:
00026         ParseError(const std::string& msg = "")
00027           : invalid_argument(msg)
00028         { }
00029       };
00030       const Move strToMove(const std::string&, const state::SimpleState&);
00031       const Square strToPos(const std::string&);
00032       Ptype charToPtype(char);
00033 
00034       const std::string show(Move);
00035       const std::string show(Square);
00036       char show(Ptype);
00037 
00039       const std::string showXP(Move);
00040     }
00041   } // record
00042 } // osl
00043 
00044 
00045 #endif /* OSL_PSN_H */
00046 // ;;; Local Variables:
00047 // ;;; mode:c++
00048 // ;;; c-basic-offset:2
00049 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines