RepastHPC
2.3.1
src
repast_hpc
Spaces.h
1
/*
2
* Repast for High Performance Computing (Repast HPC)
3
*
4
* Copyright (c) 2010 Argonne National Laboratory
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with
8
* or without modification, are permitted provided that the following
9
* conditions are met:
10
*
11
* Redistributions of source code must retain the above copyright notice,
12
* this list of conditions and the following disclaimer.
13
*
14
* Redistributions in binary form must reproduce the above copyright notice,
15
* this list of conditions and the following disclaimer in the documentation
16
* and/or other materials provided with the distribution.
17
*
18
* Neither the name of the Argonne National Laboratory nor the names of its
19
* contributors may be used to endorse or promote products derived from
20
* this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRUSTEES OR
26
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
*
34
*
35
* Spaces.h
36
*
37
* Created on: Jul 19, 2010
38
* Author: nick
39
*/
40
41
#ifndef SPACES_H_
42
#define SPACES_H_
43
44
#include "BaseGrid.h"
45
#include "GridComponents.h"
46
#include "MultipleOccupancy.h"
47
#include "SingleOccupancy.h"
48
49
namespace
repast {
50
51
// Some useful typedefs for standard grid types:
52
56
template
<
typename
T>
57
struct
Spaces
{
58
59
typedef
BaseGrid<T, SingleOccupancy <T, int>
,
StrictBorders
,
SimpleAdder<T>
,
int
>
SingleStrictDiscreteSpace
;
60
typedef
BaseGrid<T, SingleOccupancy <T, int>
,
WrapAroundBorders
,
SimpleAdder<T>
,
int
>
SingleWrappedDiscreteSpace
;
61
typedef
BaseGrid<T, MultipleOccupancy<T, int>
,
StrictBorders
,
SimpleAdder<T>
,
int
>
MultipleStrictDiscreteSpace
;
62
typedef
BaseGrid<T, MultipleOccupancy<T, int>
,
WrapAroundBorders
,
SimpleAdder<T>
,
int
>
MultipleWrappedDiscreteSpace
;
63
64
typedef
BaseGrid<T, SingleOccupancy <T, double>
,
StrictBorders
,
SimpleAdder<T>
,
double
>
SingleStrictContinuousSpace
;
65
typedef
BaseGrid<T, SingleOccupancy <T, double>
,
WrapAroundBorders
,
SimpleAdder<T>
,
double
>
SingleWrappedContinuousSpace
;
66
typedef
BaseGrid<T, MultipleOccupancy<T, double>
,
StrictBorders
,
SimpleAdder<T>
,
double
>
MultipleStrictContinuousSpace
;
67
typedef
BaseGrid<T, MultipleOccupancy<T, double>
,
WrapAroundBorders
,
SimpleAdder<T>
,
double
>
MultipleWrappedContinuousSpace
;
68
69
};
70
71
}
72
73
#endif
/* SPACES_H_ */
repast::WrapAroundBorders
Implements periodic wrap around style border semantics.
Definition:
GridComponents.h:123
repast::SimpleAdder
Basic class for adding elements to grids.
Definition:
GridComponents.h:154
repast::BaseGrid
Base grid implementation, implementing elements common to both Grids and ContinuousSpaces.
Definition:
BaseGrid.h:104
repast::Spaces
Struct within which multiple kinds of space are typedef-ed.
Definition:
Spaces.h:57
repast::StrictBorders
Implements strict grid border semantics: anything outside the dimensions is out of bounds.
Definition:
GridComponents.h:80
Generated on Thu Oct 21 2021 10:07:40 for RepastHPC by
1.8.17