Assignment Search Framework
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
tile_puzzle_state.h
Go to the documentation of this file.
1 /*
2  * tile_puzzle_state.h
3  *
4  * LICENSE HERE
5  *
6  * Created on: 2016-08-11
7  * Author: Rick Valenzano
8  */
9 
10 #ifndef TILEPUZZLESTATE_H_
11 #define TILEPUZZLESTATE_H_
12 
13 #include <vector>
14 #include <iostream>
15 
24 {
25 public:
30 
34  virtual ~TilePuzzleState();
35 
42  TilePuzzleState(const unsigned rows, const unsigned cols);
43 
51  TilePuzzleState(const std::vector<unsigned> &perm, const unsigned rows, const unsigned cols);
52 
53  std::vector<unsigned> permutation;
54 
55  unsigned num_rows;
56  unsigned num_cols;
57 
58  unsigned blank_loc;
59 };
60 
68 std::ostream& operator <<(std::ostream & out, const TilePuzzleState &s);
69 
77 bool operator ==(const TilePuzzleState &s1, const TilePuzzleState &s2);
78 
86 bool operator !=(const TilePuzzleState &s1, const TilePuzzleState &s2);
87 
88 #endif /* TILEPUZZLESTATE_H_ */
unsigned num_cols
Number of columns in the state.
Definition: tile_puzzle_state.h:56
virtual ~TilePuzzleState()
Definition: tile_puzzle_state.cpp:19
bool operator!=(const TilePuzzleState &s1, const TilePuzzleState &s2)
Definition: tile_puzzle_state.cpp:79
TilePuzzleState()
Definition: tile_puzzle_state.cpp:15
unsigned blank_loc
Location of the blank (or 0)
Definition: tile_puzzle_state.h:58
std::ostream & operator<<(std::ostream &out, const TilePuzzleState &s)
Definition: tile_puzzle_state.cpp:53
unsigned num_rows
Number of rows in the state.
Definition: tile_puzzle_state.h:55
Definition: tile_puzzle_state.h:23
std::vector< unsigned > permutation
The permutation representation of the state.
Definition: tile_puzzle_state.h:53
bool operator==(const TilePuzzleState &s1, const TilePuzzleState &s2)
Definition: tile_puzzle_state.cpp:67