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 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 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 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*11c03c6dSDamjan Jovanovic 78