#include "MetarReport.h"
#include "Metar.h"
+#if !defined (FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(endl);
+FG_USING_STD(ostream);
+#endif
+
CMetarReport::CMetarReport(
char *s ) :
m_DecodedReport( 0 )
}
-std::ostream&
+ostream&
operator << ( ostream& out, CMetarReport& p )
{
return out
<< "StationID " << p.StationID()
<< " WindDirection " << p.WindDirection()
<< " WindSpeed " << p.WindSpeed()
- << " WindGustSpeed " << p.WindGustSpeed() << std::endl
+ << " WindGustSpeed " << p.WindGustSpeed() << endl
<< "CloudLow " << p.CloudLow()
<< " CloudMedium " << p.CloudMedium()
- << " CloudHigh " << p.CloudHigh() << std::endl
+ << " CloudHigh " << p.CloudHigh() << endl
<< "TornadicDirection " << p.TornadicDirection()
- << " TornadicMovementDirection " << p.TornadicMovementDirection() << std::endl
+ << " TornadicMovementDirection " << p.TornadicMovementDirection() << endl
<< "ThunderStormDirection " << p.ThunderStormDirection()
- << " ThunderStormMovementDirection " << p.ThunderStormMovementDirection() << std::endl
+ << " ThunderStormMovementDirection " << p.ThunderStormMovementDirection() << endl
<< "Virga " << p.Virga()
- << " VirgaDirection " << p.VirgaDirection() << std::endl
- << "VolcanicAsh " << p.VolcanicAsh() << std::endl
- << "Hail " << p.Hail() << std::endl
+ << " VirgaDirection " << p.VirgaDirection() << endl
+ << "VolcanicAsh " << p.VolcanicAsh() << endl
+ << "Hail " << p.Hail() << endl
<< "LightningDirection " << p.LightningDirection()
<< " OccationalLightning " << p.OccationalLightning()
<< " FrequentLightning " << p.FrequentLightning()
- << " ContinuousLightning " << p.ContinuousLightning() << std::endl
+ << " ContinuousLightning " << p.ContinuousLightning() << endl
<< "CloudToGroundLightning " << p.CloudToGroundLightning()
<< " InterCloudLightning " << p.InterCloudLightning()
<< " CloudToCloudLightning " << p.CloudToCloudLightning()
- << " CloudToAirLightning " << p.CloudToAirLightning() << std::endl
+ << " CloudToAirLightning " << p.CloudToAirLightning() << endl
<< "DistantLightning " << p.DistantLightning()
<< " AirportLightning " << p.AirportLightning()
<< " VicinityLightning " << p.VicinityLightning()
- << " OverheadLightning " << p.OverheadLightning() << std::endl
- << "VerticalVisibility " << p.VerticalVisibility() << std::endl // Meters
+ << " OverheadLightning " << p.OverheadLightning() << endl
+ << "VerticalVisibility " << p.VerticalVisibility() << endl // Meters
<< "Temperature " << p.Temperature()
- << " DewpointTemperature " << p.DewpointTemperature() << std::endl
+ << " DewpointTemperature " << p.DewpointTemperature() << endl
<< "Ceiling " << p.Ceiling()
<< " EstimatedCeiling " << p.EstimatedCeiling()
- << " VariableSkyLayerHeight " << p.VariableSkyLayerHeight() << std::endl
- << "SnowDepthInches " << p.SnowDepthInches() << std::endl
+ << " VariableSkyLayerHeight " << p.VariableSkyLayerHeight() << endl
+ << "SnowDepthInches " << p.SnowDepthInches() << endl
;
}
// Assignment operator. Not implemented.
};
-std::ostream& operator << ( std::ostream&, CMetarReport& );
+ostream& operator << ( ostream&, CMetarReport& );
#endif
#include <simgear/misc/fgpath.hxx>
+#if !defined (FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(ostream);
+FG_USING_STD(cout);
+FG_USING_STD(endl);
+#endif
+
double CMetarStation::decodeDMS( char *b )
{
void CMetarStation::dump()
{
- std::cout << "ID:" << ID();
- std::cout << std::endl;
- std::cout << "number:" << number();
- std::cout << std::endl;
- std::cout << "name:" << name();
- std::cout << std::endl;
- std::cout << "state:" << state();
- std::cout << std::endl;
- std::cout << "country:" << country();
- std::cout << std::endl;
- std::cout << "region:" << region();
- std::cout << std::endl;
- std::cout << "Location (cart):" << locationCart();
- std::cout << std::endl;
- std::cout << "Location (polar):" << locationPolar();
- std::cout << std::endl;
- std::cout << "Upper Location (cart):" << upperLocationCart();
- std::cout << std::endl;
- std::cout << "Upper Location (polar):" << upperLocationPolar();
- std::cout << std::endl;
- std::cout << "P flag:" << pFlag();
- std::cout << std::endl;
+ cout << "ID:" << ID();
+ cout << endl;
+ cout << "number:" << number();
+ cout << endl;
+ cout << "name:" << name();
+ cout << endl;
+ cout << "state:" << state();
+ cout << endl;
+ cout << "country:" << country();
+ cout << endl;
+ cout << "region:" << region();
+ cout << endl;
+ cout << "Location (cart):" << locationCart();
+ cout << endl;
+ cout << "Location (polar):" << locationPolar();
+ cout << endl;
+ cout << "Upper Location (cart):" << upperLocationCart();
+ cout << endl;
+ cout << "Upper Location (polar):" << upperLocationPolar();
+ cout << endl;
+ cout << "P flag:" << pFlag();
+ cout << endl;
}
if ( f != NULL ) {
// Read each line, create an instance of a station, and add it to the vector
while ( fgets( buf, 256, f) != NULL && feof( f ) == 0 ) {
- //std::cout << buf << std::endl;
+ // cout << buf << endl;
m = new CMetarStation( buf );
//m->dump();
METAR_Stations[m->ID()]=( m );
// Close the list
fclose( f );
- // std::cout << METAR_Stations.size() << " Metar stations" << std::endl;
+ // cout << METAR_Stations.size() << " Metar stations" << endl;
} else {
- // std::cout << "Could not open MetarStations file " << std::endl;
+ // cout << "Could not open MetarStations file " << endl;
}
}
}
}
-std::ostream&
+ostream&
operator << ( ostream& out, const CMetarStation& p )
{
return out
- << "ID:" << p.m_ID << std::endl
- << "number:" << p.m_number << std::endl
- << "name:" << p.m_name << std::endl
- << "state:" << p.m_state << std::endl
- << "country:" << p.m_country << std::endl
- << "region:" << p.m_region << std::endl
- << "Location (cart):" << p.m_locationCart << std::endl
- << "Location (polar):" << p.m_locationCart << std::endl
- << "Upper Location (cart):" << p.m_upperLocationCart << std::endl
- << "Upper Location (polar):" << p.m_upperLocationPolar << std::endl
- << "P flag:" << p.m_pFlag << std::endl;
+ << "ID:" << p.m_ID << endl
+ << "number:" << p.m_number << endl
+ << "name:" << p.m_name << endl
+ << "state:" << p.m_state << endl
+ << "country:" << p.m_country << endl
+ << "region:" << p.m_region << endl
+ << "Location (cart):" << p.m_locationCart << endl
+ << "Location (polar):" << p.m_locationCart << endl
+ << "Upper Location (cart):" << p.m_upperLocationCart << endl
+ << "Upper Location (polar):" << p.m_upperLocationPolar << endl
+ << "P flag:" << p.m_pFlag << endl;
}
char pFlag() { return m_pFlag; }
// Get attributes
- friend std::ostream& operator << ( std::ostream&, const CMetarStation& );
+ friend ostream& operator << ( ostream&, const CMetarStation& );
void dump();
char char_mode[10];
cvt_iomode( char_mode, io_mode );
if ( (file = gzopen(name, char_mode)) == NULL ) {
- perror( "gzfilebuf::open(): " );
+ // perror( "gzfilebuf::open(): " );
errno = 0;
return NULL;
}
# include <simgear/zlib/zlib.h>
#endif
+// At least Irix needs this
+#ifdef FG_HAVE_NATIVE_SGI_COMPILERS
+#include <char_traits.h>
+FG_USING_STD(char_traits);
+#endif
+
#ifdef FG_HAVE_STD_INCLUDES
# include <streambuf>
#include <simgear/compiler.h>
+#include <errno.h> // for errno
+
#ifdef FG_HAVE_STD_INCLUDES
# include <cmath>
# include <cstdio>
// if this open fails errno is set to 2
// CYGWIN for one does this
if ( errno ) {
- perror( "sgTimeGetGMT(): " );
+ perror( "sgTimeGetGMT()" );
errno = 0;
}
return ret;