1*8a106958SDamjan Jovanovic /************************************************************** 2*8a106958SDamjan Jovanovic * 3*8a106958SDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one 4*8a106958SDamjan Jovanovic * or more contributor license agreements. See the NOTICE file 5*8a106958SDamjan Jovanovic * distributed with this work for additional information 6*8a106958SDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file 7*8a106958SDamjan Jovanovic * to you under the Apache License, Version 2.0 (the 8*8a106958SDamjan Jovanovic * "License"); you may not use this file except in compliance 9*8a106958SDamjan Jovanovic * with the License. You may obtain a copy of the License at 10*8a106958SDamjan Jovanovic * 11*8a106958SDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0 12*8a106958SDamjan Jovanovic * 13*8a106958SDamjan Jovanovic * Unless required by applicable law or agreed to in writing, 14*8a106958SDamjan Jovanovic * software distributed under the License is distributed on an 15*8a106958SDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*8a106958SDamjan Jovanovic * KIND, either express or implied. See the License for the 17*8a106958SDamjan Jovanovic * specific language governing permissions and limitations 18*8a106958SDamjan Jovanovic * under the License. 19*8a106958SDamjan Jovanovic * 20*8a106958SDamjan Jovanovic *************************************************************/ 21*8a106958SDamjan Jovanovic 22*8a106958SDamjan Jovanovic 23*8a106958SDamjan Jovanovic 24*8a106958SDamjan Jovanovic #ifndef CSV_CSV_OSTREAM_HXX 25*8a106958SDamjan Jovanovic #define CSV_CSV_OSTREAM_HXX 26*8a106958SDamjan Jovanovic 27*8a106958SDamjan Jovanovic // USED SERVICES 28*8a106958SDamjan Jovanovic // BASE CLASSES 29*8a106958SDamjan Jovanovic // COMPONENTS 30*8a106958SDamjan Jovanovic // PARAMETERS 31*8a106958SDamjan Jovanovic 32*8a106958SDamjan Jovanovic 33*8a106958SDamjan Jovanovic 34*8a106958SDamjan Jovanovic #ifndef CSV_NO_IOSTREAMS 35*8a106958SDamjan Jovanovic 36*8a106958SDamjan Jovanovic #include <iostream> 37*8a106958SDamjan Jovanovic 38*8a106958SDamjan Jovanovic 39*8a106958SDamjan Jovanovic namespace csv 40*8a106958SDamjan Jovanovic { 41*8a106958SDamjan Jovanovic 42*8a106958SDamjan Jovanovic typedef std::ios ios; 43*8a106958SDamjan Jovanovic typedef std::ostream ostream; 44*8a106958SDamjan Jovanovic 45*8a106958SDamjan Jovanovic } // namespace csv 46*8a106958SDamjan Jovanovic 47*8a106958SDamjan Jovanovic 48*8a106958SDamjan Jovanovic #else 49*8a106958SDamjan Jovanovic 50*8a106958SDamjan Jovanovic #include <cosv/tpl/dyn.hxx> 51*8a106958SDamjan Jovanovic 52*8a106958SDamjan Jovanovic namespace csv 53*8a106958SDamjan Jovanovic { 54*8a106958SDamjan Jovanovic 55*8a106958SDamjan Jovanovic class StreamStr; 56*8a106958SDamjan Jovanovic 57*8a106958SDamjan Jovanovic class ios 58*8a106958SDamjan Jovanovic { 59*8a106958SDamjan Jovanovic public: 60*8a106958SDamjan Jovanovic enum seek_dir 61*8a106958SDamjan Jovanovic { 62*8a106958SDamjan Jovanovic beg=0, 63*8a106958SDamjan Jovanovic cur=1, 64*8a106958SDamjan Jovanovic end=2 65*8a106958SDamjan Jovanovic }; 66*8a106958SDamjan Jovanovic }; 67*8a106958SDamjan Jovanovic 68*8a106958SDamjan Jovanovic class ostream : public ios 69*8a106958SDamjan Jovanovic { 70*8a106958SDamjan Jovanovic public: 71*8a106958SDamjan Jovanovic typedef ostream self; 72*8a106958SDamjan Jovanovic 73*8a106958SDamjan Jovanovic virtual ~ostream(); 74*8a106958SDamjan Jovanovic 75*8a106958SDamjan Jovanovic self & operator<<( 76*8a106958SDamjan Jovanovic const char * i_s ); 77*8a106958SDamjan Jovanovic self & operator<<( 78*8a106958SDamjan Jovanovic char i_c ); 79*8a106958SDamjan Jovanovic self & operator<<( 80*8a106958SDamjan Jovanovic unsigned char i_c ); 81*8a106958SDamjan Jovanovic self & operator<<( 82*8a106958SDamjan Jovanovic signed char i_c ); 83*8a106958SDamjan Jovanovic 84*8a106958SDamjan Jovanovic self & operator<<( 85*8a106958SDamjan Jovanovic short i_n ); 86*8a106958SDamjan Jovanovic self & operator<<( 87*8a106958SDamjan Jovanovic unsigned short i_n ); 88*8a106958SDamjan Jovanovic self & operator<<( 89*8a106958SDamjan Jovanovic int i_n ); 90*8a106958SDamjan Jovanovic self & operator<<( 91*8a106958SDamjan Jovanovic unsigned int i_n ); 92*8a106958SDamjan Jovanovic self & operator<<( 93*8a106958SDamjan Jovanovic long i_n ); 94*8a106958SDamjan Jovanovic self & operator<<( 95*8a106958SDamjan Jovanovic unsigned long i_n ); 96*8a106958SDamjan Jovanovic 97*8a106958SDamjan Jovanovic self & operator<<( 98*8a106958SDamjan Jovanovic float i_n ); 99*8a106958SDamjan Jovanovic self & operator<<( 100*8a106958SDamjan Jovanovic double i_n ); 101*8a106958SDamjan Jovanovic 102*8a106958SDamjan Jovanovic self & seekp( 103*8a106958SDamjan Jovanovic intt i_nOffset, 104*8a106958SDamjan Jovanovic seek_dir i_eStart = ios::beg ); 105*8a106958SDamjan Jovanovic protected: 106*8a106958SDamjan Jovanovic ostream( 107*8a106958SDamjan Jovanovic uintt i_nStartSize ); 108*8a106958SDamjan Jovanovic const StreamStr & Data() const; 109*8a106958SDamjan Jovanovic 110*8a106958SDamjan Jovanovic private: 111*8a106958SDamjan Jovanovic Dyn<StreamStr> pData; 112*8a106958SDamjan Jovanovic }; 113*8a106958SDamjan Jovanovic 114*8a106958SDamjan Jovanovic 115*8a106958SDamjan Jovanovic 116*8a106958SDamjan Jovanovic inline const StreamStr & Data() const117*8a106958SDamjan Jovanovicostream::Data() const 118*8a106958SDamjan Jovanovic { return *pData; } 119*8a106958SDamjan Jovanovic 120*8a106958SDamjan Jovanovic 121*8a106958SDamjan Jovanovic } // namespace csv 122*8a106958SDamjan Jovanovic 123*8a106958SDamjan Jovanovic 124*8a106958SDamjan Jovanovic #endif 125*8a106958SDamjan Jovanovic 126*8a106958SDamjan Jovanovic 127*8a106958SDamjan Jovanovic 128*8a106958SDamjan Jovanovic 129*8a106958SDamjan Jovanovic #endif 130