Go to the documentation of this file.00001 #include "osl/checkmate/proofDisproof.h"
00002 #include <boost/static_assert.hpp>
00003 #include <iostream>
00004
00005 void osl::checkmate::
00006 ProofDisproof::testConsistency()
00007 {
00008 BOOST_STATIC_ASSERT((ProofDisproof::BigProofNumber > ProofDisproof::PAWN_CHECK_MATE_PROOF));
00009 BOOST_STATIC_ASSERT((ProofDisproof::NO_CHECK_MATE_PROOF > ProofDisproof::PAWN_CHECK_MATE_PROOF));
00010 }
00011
00012 std::ostream& osl::checkmate::
00013 operator<<(std::ostream& os, const ProofDisproof& pdp)
00014 {
00015 if (pdp == ProofDisproof::Checkmate())
00016 os << "Checkmate";
00017 else if (pdp == ProofDisproof::NoEscape())
00018 os << "NoEscape";
00019 else if (pdp == ProofDisproof::NoCheckmate())
00020 os << "NoCheckmate";
00021 else if (pdp == ProofDisproof::PawnCheckmate())
00022 os << "PawnCheckmate";
00023 else if (pdp == ProofDisproof::LoopDetection())
00024 os << "LoopDetection";
00025 else if (pdp == ProofDisproof::AttackBack())
00026 os << "AttackBack";
00027 else
00028 os << "pdp-" << pdp.proof() << "," << pdp.disproof();
00029 return os;
00030 }
00031
00032
00033
00034
00035
00036