1*11c03c6dSDamjan Jovanovic /**************************************************************
2*11c03c6dSDamjan Jovanovic *
3*11c03c6dSDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one
4*11c03c6dSDamjan Jovanovic * or more contributor license agreements. See the NOTICE file
5*11c03c6dSDamjan Jovanovic * distributed with this work for additional information
6*11c03c6dSDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file
7*11c03c6dSDamjan Jovanovic * to you under the Apache License, Version 2.0 (the
8*11c03c6dSDamjan Jovanovic * "License"); you may not use this file except in compliance
9*11c03c6dSDamjan Jovanovic * with the License. You may obtain a copy of the License at
10*11c03c6dSDamjan Jovanovic *
11*11c03c6dSDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0
12*11c03c6dSDamjan Jovanovic *
13*11c03c6dSDamjan Jovanovic * Unless required by applicable law or agreed to in writing,
14*11c03c6dSDamjan Jovanovic * software distributed under the License is distributed on an
15*11c03c6dSDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*11c03c6dSDamjan Jovanovic * KIND, either express or implied. See the License for the
17*11c03c6dSDamjan Jovanovic * specific language governing permissions and limitations
18*11c03c6dSDamjan Jovanovic * under the License.
19*11c03c6dSDamjan Jovanovic *
20*11c03c6dSDamjan Jovanovic *************************************************************/
21*11c03c6dSDamjan Jovanovic
22*11c03c6dSDamjan Jovanovic
23*11c03c6dSDamjan Jovanovic
24*11c03c6dSDamjan Jovanovic #include <precomp.h>
25*11c03c6dSDamjan Jovanovic #include <cosv/std_outp.hxx>
26*11c03c6dSDamjan Jovanovic
27*11c03c6dSDamjan Jovanovic // NOT FULLY DECLARED SERVICES
28*11c03c6dSDamjan Jovanovic #include <stdlib.h>
29*11c03c6dSDamjan Jovanovic
30*11c03c6dSDamjan Jovanovic
31*11c03c6dSDamjan Jovanovic namespace csv
32*11c03c6dSDamjan Jovanovic {
33*11c03c6dSDamjan Jovanovic
34*11c03c6dSDamjan Jovanovic #ifdef CSV_NO_IOSTREAMS
35*11c03c6dSDamjan Jovanovic redirect_out * redirect_out::pStdOut_ = 0;
36*11c03c6dSDamjan Jovanovic redirect_out * redirect_out::pStdErr_ = 0;
37*11c03c6dSDamjan Jovanovic #endif // defined(CSV_NO_IOSTREAMS)
38*11c03c6dSDamjan Jovanovic
39*11c03c6dSDamjan Jovanovic
40*11c03c6dSDamjan Jovanovic void
Endl(ostream & io_rStream,bool,int *)41*11c03c6dSDamjan Jovanovic Endl( ostream & io_rStream, bool /*bUseRedirect*/, int* )
42*11c03c6dSDamjan Jovanovic {
43*11c03c6dSDamjan Jovanovic #ifndef CSV_NO_IOSTREAMS
44*11c03c6dSDamjan Jovanovic // if (NOT bUseRedirect)
45*11c03c6dSDamjan Jovanovic io_rStream << std::endl;
46*11c03c6dSDamjan Jovanovic // else
47*11c03c6dSDamjan Jovanovic #endif
48*11c03c6dSDamjan Jovanovic // static_cast< redirect_out& >(io_rStream).re_endl();
49*11c03c6dSDamjan Jovanovic }
50*11c03c6dSDamjan Jovanovic
51*11c03c6dSDamjan Jovanovic void
Flush(ostream & io_rStream,bool,int *)52*11c03c6dSDamjan Jovanovic Flush( ostream & io_rStream, bool /*bUseRedirect*/, int* )
53*11c03c6dSDamjan Jovanovic {
54*11c03c6dSDamjan Jovanovic #ifndef CSV_NO_IOSTREAMS
55*11c03c6dSDamjan Jovanovic // if (NOT bUseRedirect)
56*11c03c6dSDamjan Jovanovic io_rStream << std::flush;
57*11c03c6dSDamjan Jovanovic // else
58*11c03c6dSDamjan Jovanovic #endif
59*11c03c6dSDamjan Jovanovic // static_cast< redirect_out& >(io_rStream).re_flush();
60*11c03c6dSDamjan Jovanovic }
61*11c03c6dSDamjan Jovanovic
62*11c03c6dSDamjan Jovanovic void
PerformAssertion(const char * condition,const char * file,unsigned line)63*11c03c6dSDamjan Jovanovic PerformAssertion(const char * condition, const char * file, unsigned line)
64*11c03c6dSDamjan Jovanovic {
65*11c03c6dSDamjan Jovanovic Cout() << "assertion failed: "
66*11c03c6dSDamjan Jovanovic << condition
67*11c03c6dSDamjan Jovanovic << " in file: "
68*11c03c6dSDamjan Jovanovic << file
69*11c03c6dSDamjan Jovanovic << " at line: "
70*11c03c6dSDamjan Jovanovic << line
71*11c03c6dSDamjan Jovanovic << Endl;
72*11c03c6dSDamjan Jovanovic
73*11c03c6dSDamjan Jovanovic exit(3);
74*11c03c6dSDamjan Jovanovic }
75*11c03c6dSDamjan Jovanovic
76*11c03c6dSDamjan Jovanovic } // namespace csv
77