3 #ifndef OSL_SIMPLE_STATE_TCC 
    4 #define OSL_SIMPLE_STATE_TCC 
    9 template <
bool show_error>
 
   10 bool osl::SimpleState::isAlmostValidDrop(
Move move)
 const 
   14   const Piece to_piece=pieceAt(to);
 
   19     if (show_error) std::cerr << 
"drop on to piece : " << move << std::endl;
 
   23   if (! hasPieceOnStand(turn,ptype)) {
 
   24     if (show_error) std::cerr << turn << 
" don't have : " << ptype << std::endl;
 
   28   if (ptype==
PAWN && isPawnMaskSet(turn, to.x())) {
 
   29     if (show_error) std::cerr << 
" Double Pawn : " << move << std::endl;
 
   35 template <
bool show_error>
 
   37 osl::SimpleState::testValidityOtherThanEffect(
Move move)
 const 
   40   const Piece from_piece = pieceAt(from);
 
   42   const Piece to_piece=pieceAt(to);
 
   45       || (from_piece.
owner() != turn()))
 
   48       std::cerr << 
" No such piece0 : " << move << std::endl;
 
   58         std::cerr << 
" No such piece1  : " << move << std::endl;
 
   64         std::cerr << 
" can't promote promoted piece : " << move << std::endl;
 
   74         std::cerr << 
" No such piece2  : " << move << std::endl;
 
   80     if (show_error) std::cerr << 
" No move on  : " << move << std::endl;
 
   85     if (show_error) std::cerr << 
" Not such capture : " << move 
 
   86                               << std::endl << *
this;