]> git.scottworley.com Git - slidingtile/commitdiff
operator<< for printing for debugging
authorScott Worley <scottworley@scottworley.com>
Sat, 2 Jan 2016 05:48:55 +0000 (21:48 -0800)
committerScott Worley <scottworley@scottworley.com>
Sat, 2 Jan 2016 05:48:55 +0000 (21:48 -0800)
sliding_tile_lib.cc
sliding_tile_lib.h

index 5b2e798472d08e4b45f547461b71ff135fe787f5..5037c8edbda5877b2ab2d0d2e6ac37d7cd981461 100644 (file)
@@ -1,6 +1,7 @@
 #include "sliding_tile_lib.h"
 
 #include <istream>
+#include <ostream>
 #include <stdexcept>
 
 signed char adjacent[BOARD_SIZE][5] = {
@@ -65,6 +66,16 @@ std::istream& operator>>(std::istream& is, Board& board) {
   return is;
 }
 
+std::ostream& operator<<(std::ostream& os, const Board& board) {
+  for (int i = 0; i < BOARD_SIZE; i++) {
+    if (i > 0) {
+      os << " ";
+    }
+    os << int(board.board[i]);
+  }
+  return os;
+}
+
 signed char Board::hole() const {
   for (int i = 0; i < BOARD_SIZE; i++) {
     if (board[i] == 0) {
index 4d6c0151e45d622c05e3a0ed98a528bbf80405c5..d144789187c7e91170b46658e37c72a53c01c5e4 100644 (file)
@@ -2,6 +2,7 @@
 #define _SLIDING_TILE_LIB_H
 
 #include <istream>
+#include <ostream>
 
 const int BOARD_DIM = 4;
 const int BOARD_SIZE = BOARD_DIM * BOARD_DIM;
@@ -12,6 +13,7 @@ struct Board {
   signed char hole() const;
 };
 std::istream& operator>>(std::istream& is, Board& board);
+std::ostream& operator<<(std::ostream& os, const Board& board);
 
 extern signed char adjacent[BOARD_SIZE][5];