ROL
src
zoo
ROL_Stream.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ************************************************************************
3
//
4
// Rapid Optimization Library (ROL) Package
5
// Copyright (2014) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact lead developers:
38
// Drew Kouri (dpkouri@sandia.gov) and
39
// Denis Ridzal (dridzal@sandia.gov)
40
//
41
// ************************************************************************
42
// @HEADER
43
44
#pragma once
45
#ifndef ROL_STREAM_HPP
46
#define ROL_STREAM_HPP
47
48
#include <ostream>
49
#include <string>
50
#include "ROL_Ptr.hpp"
51
60
namespace
ROL
{
61
62
namespace
details
{
63
64
using namespace
std;
65
66
template
<
typename
_CharT,
typename
_Traits>
67
class
basic_nullstream
:
virtual
public
basic_ostream<_CharT, _Traits> {
68
public
:
69
explicit
basic_nullstream
() : basic_ostream<_CharT, _Traits>(NULL) {}
70
};
71
72
using
nullstream
=
basic_nullstream<char, char_traits<char>
>;
73
74
inline
75
Ptr<ostream>
makeStreamPtr
( ostream& os,
bool
noSuppressOutput=
true
) {
76
Ptr<ostream> retstream;
77
if
( noSuppressOutput ) retstream = makePtrFromRef<ostream>(os);
78
else
retstream = makePtr<nullstream>();
79
return
retstream;
// noSuppressOutput ? makePtrFromRef( os ) : makePtr<nullstream>();
80
}
81
82
inline
83
Ptr<ostream>
makeStreamPtr
( Ptr<ostream> os,
bool
noSuppressOutput=
true
) {
84
Ptr<ostream> retstream;
85
if
( noSuppressOutput ) retstream = os;
86
else
retstream = makePtr<nullstream>();
87
return
retstream;
// noSuppressOutput ? makePtrFromRef( os ) : makePtr<nullstream>();
88
// return noSuppressOutput ? os : makePtr<nullstream>();
89
}
90
91
}
// details
92
93
using
details::nullstream
;
94
using
details::makeStreamPtr;
95
96
}
// namespace ROL
97
98
99
#endif
ROL::details::basic_nullstream
Definition
ROL_Stream.hpp:67
ROL::details::basic_nullstream::basic_nullstream
basic_nullstream()
Definition
ROL_Stream.hpp:69
ROL::details::makeStreamPtr
Ptr< ostream > makeStreamPtr(ostream &os, bool noSuppressOutput=true)
Definition
ROL_Stream.hpp:75
ROL::details::nullstream
basic_nullstream< char, char_traits< char > > nullstream
Definition
ROL_Stream.hpp:72
ROL
Definition
ROL_ElementwiseVector.hpp:61
details
Definition
vector/test_10.cpp:59
Generated by
1.10.0