bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
fileout_json/StreamString.h
1// -*- mode: c++; c-basic-offset:4 -*-
2//
3// StringStream.h
4//
5// This file is part of BES JSON File Out Module
6//
7// Copyright (c) 2014 OPeNDAP, Inc.
8// Author: Nathan Potter <ndp@opendap.org>
9//
10// This library is free software; you can redistribute it and/or
11// modify it under the terms of the GNU Lesser General Public
12// License as published by the Free Software Foundation; either
13// version 2.1 of the License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23//
24// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25// (c) COPYRIGHT URI/MIT 1995-1999
26// Please read the full copyright statement in the file COPYRIGHT_URI.
27//
28
29#ifndef STREAMSTRING_H_
30#define STREAMSTRING_H_
31
32#include <libdap/Str.h>
33
34namespace libdap {
35
36class StreamString: public Str{
37
38public:
39
40 StreamString(const string &n): Str(n) {};
41 StreamString(const string &n, const string &d): Str(n,d) {}
42
43 virtual ~StreamString()
44 {}
45
46 StreamString(const Str &copy_from): Str(copy_from){}
47
48
49 friend ostream& operator<<(ostream& out, const Str& s) // output
50 {
51 out << s.value();
52
53 return out;
54 }
55
56 friend istream& operator>>(istream& in, Str& s) // input
57 {
58 string tmp;
59 in >> tmp;
60 s.set_value(tmp);
61
62 return in;
63 }
64
65};
66
67} /* namespace libdap */
68
69#endif /* STREAMSTRING_H_ */