OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ippl
src
DataSource
MakeDataSource.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
/***************************************************************************
3
*
4
* The IPPL Framework
5
*
6
*
7
* Visit http://people.web.psi.ch/adelmann/ for more details
8
*
9
***************************************************************************/
10
11
#ifndef MAKE_DATA_SOURCE_H
12
#define MAKE_DATA_SOURCE_H
13
14
/***********************************************************************
15
*
16
* make_DataSourceObject is essentially a factory function
17
* for producing different specific types of DataSourceObjects.
18
* It asks the IpplInfo object which type of data source to
19
* use, and then makes the appropriate DataSourceObject subclass.
20
*
21
***********************************************************************/
22
23
// forward declarations
24
template
<
class
T,
unsigned
Dim,
class
M,
class
C>
class
Field
;
25
template
<
class
T>
class
ParticleAttrib
;
26
template
<
class
PLayout>
class
IpplParticleBase
;
27
template
<
class
T>
class
ScalarDataSource
;
28
template
<
class
T>
class
StringDataSource
;
29
class
DataSourceObject
;
30
class
DataConnect
;
31
32
33
// a version of make_DataSourceObject for Field's.
34
// arguments: name, connection type, transfer metohd, Field
35
template
<
class
T,
unsigned
Dim,
class
M,
class
C>
36
DataSourceObject
*
37
make_DataSourceObject
(
const
char
*,
DataConnect
*,
int
,
Field<T,Dim,M,C>
&);
38
39
40
// a version of make_DataSourceObject for ParticleAttrib's.
41
// arguments: name, connection type, transfer method, ParticleAttrib
42
template
<
class
T>
43
DataSourceObject
*
44
make_DataSourceObject
(
const
char
*,
DataConnect
*,
int
,
ParticleAttrib<T>
&);
45
46
47
// a version of make_DataSourceObject for ParticleAttrib's.
48
// arguments: name, connection type, transfer method, IpplParticleBase
49
template
<
class
PLayout>
50
DataSourceObject
*
51
make_DataSourceObject
(
const
char
*,
DataConnect
*,
int
,
IpplParticleBase<PLayout>
&);
52
53
// a version of make_DataSourceObject for Scalar's.
54
// arguments: name, connection type, transfer method, ScalarDataSource
55
template
<
class
T>
56
DataSourceObject
*
57
make_DataSourceObject
(
const
char
*,
DataConnect
*,
int
,
ScalarDataSource<T>
&);
58
59
60
// a version of make_DataSourceObject for String's.
61
// arguments: name, connection type, transfer method, StringDataSource
62
template
<
class
T>
63
DataSourceObject
*
64
make_DataSourceObject
(
const
char
*,
DataConnect
*,
int
,
StringDataSource<T>
&);
65
66
#include "
DataSource/MakeDataSource.hpp
"
67
68
#endif // MAKE_DATA_SOURCE_H
69
70
/***************************************************************************
71
* $RCSfile: MakeDataSource.h,v $ $Author: adelmann $
72
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:25 $
73
* IPPL_VERSION_ID: $Id: MakeDataSource.h,v 1.1.1.1 2003/01/23 07:40:25 adelmann Exp $
74
***************************************************************************/
ScalarDataSource
Definition:
MakeDataSource.h:27
Field
Definition:
FieldDataSource.h:38
make_DataSourceObject
DataSourceObject * make_DataSourceObject(const char *, DataConnect *, int, Field< T, Dim, M, C > &)
Definition:
MakeDataSource.hpp:45
DataSourceObject
Definition:
DataSourceObject.h:53
StringDataSource
Definition:
MakeDataSource.h:28
MakeDataSource.hpp
DataConnect
Definition:
DataConnect.h:32
IpplParticleBase
Definition:
MakeDataSource.h:26
ParticleAttrib
Definition:
MakeDataSource.h:25
Generated on Sat Jan 4 2020 14:47:34 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5