tlds
Transactional Operations for Linked Data Structures
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
maze.h
Go to the documentation of this file.
1
/* =============================================================================
2
*
3
* maze.h
4
*
5
* =============================================================================
6
*
7
* Copyright (C) Stanford University, 2006. All Rights Reserved.
8
* Author: Chi Cao Minh
9
*
10
* =============================================================================
11
*
12
* For the license of bayes/sort.h and bayes/sort.c, please see the header
13
* of the files.
14
*
15
* ------------------------------------------------------------------------
16
*
17
* For the license of kmeans, please see kmeans/LICENSE.kmeans
18
*
19
* ------------------------------------------------------------------------
20
*
21
* For the license of ssca2, please see ssca2/COPYRIGHT
22
*
23
* ------------------------------------------------------------------------
24
*
25
* For the license of lib/mt19937ar.c and lib/mt19937ar.h, please see the
26
* header of the files.
27
*
28
* ------------------------------------------------------------------------
29
*
30
* For the license of lib/rbtree.h and lib/rbtree.c, please see
31
* lib/LEGALNOTICE.rbtree and lib/LICENSE.rbtree
32
*
33
* ------------------------------------------------------------------------
34
*
35
* Unless otherwise noted, the following license applies to STAMP files:
36
*
37
* Copyright (c) 2007, Stanford University
38
* All rights reserved.
39
*
40
* Redistribution and use in source and binary forms, with or without
41
* modification, are permitted provided that the following conditions are
42
* met:
43
*
44
* * Redistributions of source code must retain the above copyright
45
* notice, this list of conditions and the following disclaimer.
46
*
47
* * Redistributions in binary form must reproduce the above copyright
48
* notice, this list of conditions and the following disclaimer in
49
* the documentation and/or other materials provided with the
50
* distribution.
51
*
52
* * Neither the name of Stanford University nor the names of its
53
* contributors may be used to endorse or promote products derived
54
* from this software without specific prior written permission.
55
*
56
* THIS SOFTWARE IS PROVIDED BY STANFORD UNIVERSITY ``AS IS'' AND ANY
57
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
58
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE
60
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
61
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
62
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
63
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
64
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
65
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
66
* THE POSSIBILITY OF SUCH DAMAGE.
67
*
68
* =============================================================================
69
*/
70
71
72
#ifndef MAZE_H
73
#define MAZE_H 1
74
75
76
#include "
coordinate.h
"
77
#include "
grid.h
"
78
#include "
list.h
"
79
#include "
pair.h
"
80
#include "
queue.h
"
81
#include "
types.h
"
82
#include "
vector.h
"
83
84
typedef
struct
maze
{
85
grid_t
*
gridPtr
;
86
queue_t
*
workQueuePtr
;
/* contains source/destination pairs to route */
87
vector_t
*
wallVectorPtr
;
/* obstacles */
88
vector_t
*
srcVectorPtr
;
/* sources */
89
vector_t
*
dstVectorPtr
;
/* destinations */
90
}
maze_t
;
91
92
93
/* =============================================================================
94
* maze_alloc
95
* =============================================================================
96
*/
97
maze_t
*
98
maze_alloc
();
99
100
101
/* =============================================================================
102
* maze_free
103
* =============================================================================
104
*/
105
void
106
maze_free
(
maze_t
* mazePtr);
107
108
109
/* =============================================================================
110
* maze_read
111
* -- Return number of path to route
112
* =============================================================================
113
*/
114
long
115
maze_read
(
maze_t
* mazePtr,
char
* inputFileName);
116
117
118
/* =============================================================================
119
* maze_checkPaths
120
* =============================================================================
121
*/
122
bool_t
123
maze_checkPaths
(
maze_t
* mazePtr,
list_t
* pathListPtr,
bool_t
doPrintPaths);
124
125
126
#endif
/* MAZE_H */
127
128
129
/* =============================================================================
130
*
131
* End of maze.h
132
*
133
* =============================================================================
134
*/
vector
Definition:
vector.h:85
types.h
grid
Definition:
grid.h:80
maze_checkPaths
bool_t maze_checkPaths(maze_t *mazePtr, list_t *pathListPtr, bool_t doPrintPaths)
Definition:
maze.c:286
maze_alloc
maze_t * maze_alloc()
Definition:
maze.c:89
maze_t
struct maze maze_t
coordinate.h
maze
Definition:
maze.h:84
maze::wallVectorPtr
vector_t * wallVectorPtr
Definition:
maze.h:87
queue
Definition:
queue.c:81
bool_t
int bool_t
Definition:
portable_defns.h:32
queue.h
maze_read
long maze_read(maze_t *mazePtr, char *inputFileName)
Definition:
maze.c:159
list.h
maze::dstVectorPtr
vector_t * dstVectorPtr
Definition:
maze.h:89
maze::workQueuePtr
queue_t * workQueuePtr
Definition:
maze.h:86
maze::srcVectorPtr
vector_t * srcVectorPtr
Definition:
maze.h:88
grid.h
pair.h
vector.h
list
Definition:
list.h:93
maze_free
void maze_free(maze_t *mazePtr)
Definition:
maze.c:114
maze::gridPtr
grid_t * gridPtr
Definition:
maze.h:85
rstm
rstm-dev
stamp-0.9.10
labyrinth
maze.h
Generated on Thu Sep 8 2016 13:28:38 for tlds by
1.8.6