RepastHPC
2.3.1
src
repast_hpc
NCDataSource.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
* NCDataSource.h
36
*
37
* Created on: Oct 14, 2010
38
* Author: nick
39
*/
40
41
#ifndef NCDATASOURCE_H_
42
#define NCDATASOURCE_H_
43
44
namespace
repast {
45
49
class
NCDataSource
{
50
51
protected
:
52
std::string _name;
53
54
public
:
55
NCDataSource
(std::string name) : _name(name) {}
56
virtual
~
NCDataSource
() {};
57
virtual
void
record() = 0;
58
virtual
void
write(NcVar* var) = 0;
59
60
virtual
NcType ncType() = 0;
61
62
const
std::string name()
const
{
63
return
_name;
64
}
65
};
66
70
template
<
typename
T>
71
struct
NcTypeTrait
;
72
76
template
<>
77
struct
NcTypeTrait
<double> {
78
const
static
NcType type = ncDouble;
79
};
80
84
template
<>
85
struct
NcTypeTrait
<int> {
86
const
static
NcType type = ncInt;
87
};
88
89
90
91
}
92
93
94
#endif
/* NCDATASOURCE_H_ */
repast::NcTypeTrait
Base class for specialized int and double NcType classes.
Definition:
NCDataSource.h:71
repast::NCDataSource
Data source used internally by NCDataSets.
Definition:
NCDataSource.h:49
Generated on Thu Oct 21 2021 10:07:40 for RepastHPC by
1.8.17