NEST  2.6.0,not_revisioned_source_dir@0
stringdatum.h
Go to the documentation of this file.
1 /*
2  * stringdatum.h
3  *
4  * This file is part of NEST.
5  *
6  * Copyright (C) 2004 The NEST Initiative
7  *
8  * NEST is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * NEST is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with NEST. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef STRINGDATUM_H
24 #define STRINGDATUM_H
25 
26 // #include <typeinfo>
27 #include <string>
28 
29 #include "aggregatedatum.h"
30 #include "slifunction.h"
31 #include "interpret.h"
32 
33 // class StringDatum: public AggregateDatum<string,&SLIInterpreter::Stringtype>
34 // {
35 // Datum * clone(void) const
36 // {
37 // return new StringDatum(*this);
38 // }
39 // public:
40 // StringDatum():
41 // AggregateDatum<string,&SLIInterpreter::Stringtype>() {}
42 // StringDatum(const string &s):
43 // AggregateDatum<string,&SLIInterpreter::Stringtype>(s) {}
44 // StringDatum(const StringDatum &d):
45 // AggregateDatum<string,&SLIInterpreter::Stringtype>(d) {}
46 // ~StringDatum()
47 // {}
48 
49 // void pprint(ostream &) const;
50 // };
51 
52 
53 /* These are declarations to specialize the static memory pool BEFORE
54  we instantiate the AggregateDatum. Note, that this is only a declaration,
55  because we do not provide an initializer (see ISO14882 Sec. 14.7.3.15.)
56  The definition is given in the *.CC file with the appropriate
57  initializer.
58 
59  Note that SUN's Forte 6.2 does not handle this correctly, so we have
60  to use a compiler-switch. 1.2002 Gewaltig
61 
62  The Alpha cxx V6.3-002 says that storage class extern is not allowed here,
63  so I removed it. 15.2.2002 Diesmann
64 */
65 #ifndef HAVE_STATIC_TEMPLATE_DECLARATION_FAILS
66 template<>
68 #endif
69 
70 
71 template <>
73 
74 
76 
78 
80 {
81  public:
83  void execute(SLIInterpreter *) const;
84 };
85 
87 {
88  public:
90  void execute(SLIInterpreter *) const;
91 };
92 
93 #endif
void execute(SLIInterpreter *) const
Definition: stringdatum.cc:94
Definition: stringdatum.h:79
Definition: slifunction.h:35
AggregateDatum< std::string,&SLIInterpreter::Stringtype > StringDatum
Definition: stringdatum.h:75
Definition: aggregatedatum.h:53
void execute(SLIInterpreter *) const
Definition: stringdatum.cc:66
void init_slistring(SLIInterpreter *)
Definition: stringdatum.cc:107
Definition: interpret.h:69
virtual void pprint(std::ostream &out) const
Definition: nest_datums.cpp:38
ToLowercase_sFunction()
Definition: stringdatum.h:89
pool is a specialized allocator class for many identical small objects.
Definition: allocator.h:50
Definition: stringdatum.h:86
ToUppercase_sFunction()
Definition: stringdatum.h:82