OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
AsciiOutputFactory.h
Go to the documentation of this file.
1 
2 // -*- mode: c++; c-basic-offset:4 -*-
3 
4 // Copyright (c) 2005 OPeNDAP, Inc.
5 // Author: James Gallagher <jgallagher@opendap.org>
6 //
7 // This is free software; you can redistribute it and/or modify it under the
8 // terms of the GNU Lesser General Public License as published by the Free
9 // Software Foundation; either version 2.1 of the License, or (at your
10 // option) any later version.
11 //
12 // This is distributed in the hope that it will be useful, but WITHOUT ANY
13 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15 // more details.
16 //
17 // You should have received a copy of the GNU Lesser General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 //
21 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
22 
23 #ifndef ascii_output_factory_h
24 #define ascii_output_factory_h
25 
26 #include <string>
27 
28 #include "BaseTypeFactory.h"
29 
30 class AsciiByte;
31 class AsciiInt16;
32 class AsciiUInt16;
33 class AsciiInt32;
34 class AsciiUInt32;
35 class AsciiFloat32;
36 class AsciiFloat64;
37 class AsciiStr;
38 class AsciiUrl;
39 class AsciiArray;
40 class AsciiStructure;
41 class AsciiSequence;
42 class AsciiGrid;
43 
47 public:
49  virtual ~AsciiOutputFactory() {}
50 
51  virtual Byte *NewByte(const string &n = "") const;
52  virtual Int16 *NewInt16(const string &n = "") const;
53  virtual UInt16 *NewUInt16(const string &n = "") const;
54  virtual Int32 *NewInt32(const string &n = "") const;
55  virtual UInt32 *NewUInt32(const string &n = "") const;
56  virtual Float32 *NewFloat32(const string &n = "") const;
57  virtual Float64 *NewFloat64(const string &n = "") const;
58 
59  virtual Str *NewStr(const string &n = "") const;
60  virtual Url *NewUrl(const string &n = "") const;
61 
62  virtual Array *NewArray(const string &n = "", BaseType *v = 0) const;
63  virtual Structure *NewStructure(const string &n = "") const;
64  virtual Sequence *NewSequence(const string &n = "") const;
65  virtual Grid *NewGrid(const string &n = "") const;
66 };
67 
68 #endif // ascii_output_factory_h
virtual Float64 * NewFloat64(const string &n="") const
virtual Grid * NewGrid(const string &n="") const
virtual Int32 * NewInt32(const string &n="") const
virtual Str * NewStr(const string &n="") const
virtual UInt32 * NewUInt32(const string &n="") const
virtual Structure * NewStructure(const string &n="") const
virtual Float32 * NewFloat32(const string &n="") const
virtual UInt16 * NewUInt16(const string &n="") const
virtual Array * NewArray(const string &n="", BaseType *v=0) const
virtual Sequence * NewSequence(const string &n="") const
virtual Int16 * NewInt16(const string &n="") const
virtual Url * NewUrl(const string &n="") const
A factory for the AsciiByte, ..., AsciiGrid types.
virtual Byte * NewByte(const string &n="") const