OPALX (Object Oriented Parallel Accelerator Library for Exascal)
MINIorX
OPALX
TFind.h
Go to the documentation of this file.
1
#ifndef OPAL_TFind_HH
2
#define OPAL_TFind_HH
3
4
// ------------------------------------------------------------------------
5
// $RCSfile: TFind.h,v $
6
// ------------------------------------------------------------------------
7
// $Revision: 1.1.1.1 $
8
// ------------------------------------------------------------------------
9
// Copyright: see Copyright.readme
10
// ------------------------------------------------------------------------
11
//
12
// Template function: find<T>(const T table[], const string &name).
13
//
14
// ------------------------------------------------------------------------
15
//
16
// $Date: 2000/03/27 09:33:42 $
17
// $Author: Andreas Adelmann $
18
//
19
// ------------------------------------------------------------------------
20
21
#include <string>
22
23
24
namespace
Expressions
{
25
26
// Function find
27
// ----------------------------------------------------------------------
29
// The input table is a C array of structures containing a [b]name[/b]
30
// entry. The result is a pointer to one component of the array or nullptr.
31
// May be replaced by a map<> with suitable parameters.
32
33
template
<
class
T>
inline
34
const
T
*
find
(
const
T
table[],
const
std::string &name) {
35
for
(
const
T
*x = table; x->name != 0; x++) {
36
if
(x->name == name)
return
x;
37
}
38
39
return
0;
40
}
41
42
}
43
44
#endif
// OPAL_TFind_HH
T
double T
Definition
datatypes.h:7
Expressions
Representation objects and parsers for attribute expressions.
Definition
AbstractObjects/Expressions.h:64
Expressions::find
const T * find(const T table[], const std::string &name)
Look up name.
Definition
TFind.h:34