SUMO - Simulation of Urban MObility
|
An output device that encapsulates cerr. More...
#include <OutputDevice_CERR.h>
Public Member Functions | |
OutputDevice member methods | |
virtual bool | ok () |
returns the information whether one can write into the device More... | |
void | close () |
Closes the device and removes it from the dictionary. More... | |
void | setPrecision (unsigned int precision=OUTPUT_ACCURACY) |
Sets the precison or resets it to default. More... | |
bool | writeXMLHeader (const std::string &rootElement, const std::string &attrs="", const std::string &comment="") |
Writes an XML header with optional configuration. More... | |
template<typename E > | |
bool | writeHeader (const SumoXMLTag &rootElement) |
OutputDevice & | openTag (const std::string &xmlElement) |
Opens an XML tag. More... | |
OutputDevice & | openTag (const SumoXMLTag &xmlElement) |
Opens an XML tag. More... | |
bool | closeTag () |
Closes the most recently opened tag. More... | |
OutputDevice & | writeAttr (std::string attr, std::string val) |
writes an arbitrary attribute More... | |
template<typename T > | |
OutputDevice & | writeAttr (const SumoXMLAttr attr, const T &val) |
writes a named attribute More... | |
void | lf () |
writes a line feed if applicable More... | |
bool | isBinary () const |
Returns whether we have a binary output. More... | |
void | inform (const std::string &msg, const char progress=0) |
Retrieves a message to this device. More... | |
template<class T > | |
OutputDevice & | operator<< (const T &t) |
Abstract output operator. More... | |
Static Public Member Functions | |
static OutputDevice * | getDevice () |
Returns the single cerr instance. More... | |
static std::string | realString (const SUMOReal v, const int precision=OUTPUT_ACCURACY) |
Helper method for string formatting. More... | |
static access methods to OutputDevices | |
static OutputDevice & | getDevice (const std::string &name) |
Returns the described OutputDevice. More... | |
static bool | createDeviceByOption (const std::string &optionName, const std::string &rootElement="") |
Creates the device using the output definition stored in the named option. More... | |
static OutputDevice & | getDeviceByOption (const std::string &name) throw (IOError, InvalidArgument) |
Returns the device described by the option. More... | |
static void | closeAll () |
Protected Member Functions | |
Methods that override/implement OutputDevice-methods | |
std::ostream & | getOStream () |
Returns the associated ostream. More... | |
virtual void | postWriteHook () |
Called after every write access. More... | |
Private Member Functions | |||
OutputDevice_CERR () | |||
Constructor
| |||
~OutputDevice_CERR () | |||
Destructor. More... | |||
Static Private Attributes | |
static OutputDevice * | myInstance = 0 |
my singular instance More... | |
An output device that encapsulates cerr.
Definition at line 44 of file OutputDevice_CERR.h.
|
private |
Constructor
IOError | Should not be thrown by this implementation. |
Definition at line 62 of file OutputDevice_CERR.cpp.
Referenced by getDevice().
|
private |
|
inherited |
Closes the device and removes it from the dictionary.
Definition at line 177 of file OutputDevice.cpp.
References OutputDevice::closeTag(), and OutputDevice::myOutputDevices.
Referenced by RONet::closeOutput(), GUIDialog_ViewSettings::onCmdExportSetting(), GUIDialog_Breakpoints::onCmdSave(), GUIParameterTracker::onCmdSave(), PCPolyContainer::save(), RODFDetectorCon::save(), GUISelectedStorage::save(), RODFDetectorCon::saveAsPOIs(), GUIDialog_ViewSettings::saveDecals(), RODFDetectorCon::saveRoutes(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_XML::writeJoinedJunctions(), NWFrame::writeNetwork(), NWWriter_SUMO::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), RODFDetector::writeSingleSpeedTrigger(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_XML::writeStreetSigns(), NWWriter_XML::writeTrafficLights(), and RODFDetectorCon::writeValidationDetectors().
|
staticinherited |
Closes all registered devices
Definition at line 126 of file OutputDevice.cpp.
References OutputDevice::myOutputDevices.
Referenced by SystemFrame::close(), and GUIRunThread::deleteSim().
|
inherited |
Closes the most recently opened tag.
The topmost xml-element from the stack is written into the stream as a closing element. Depending on the formatter used this may be something like "</" + element + ">" or "/>" or nothing at all.
Definition at line 217 of file OutputDevice.cpp.
References OutputFormatter::closeTag(), OutputDevice::getOStream(), OutputDevice::myFormatter, and OutputDevice::postWriteHook().
Referenced by RORouteHandler::addStop(), OutputDevice::close(), RORouteHandler::closePerson(), MSPersonControl::erase(), MSVTypeProbe::execute(), RORouteHandler::myStartElement(), RODFRouteCont::save(), PCPolyContainer::save(), RODFDetectorCon::save(), ROVehicle::saveAllAsXML(), MSVehicleControl::scheduleVehicleRemoval(), MSVTKExport::write(), MSFCDExport::write(), MSEmissionExport::write(), MSQueueExport::write(), MSFullExport::write(), MSXMLRawOut::write(), SUMOVTypeParameter::write(), MSMeanData_HBEFA::MSLaneMeanDataValues::write(), MSMeanData_Harmonoise::MSLaneMeanDataValues::write(), MSMeanData_Net::MSLaneMeanDataValues::write(), ODMatrix::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSQueueExport::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitters(), ODMatrix::writeFlows(), NWWriter_SUMO::writeInternalConnection(), NWWriter_SUMO::writeInternalEdge(), NWWriter_SUMO::writeInternalNodes(), NWWriter_XML::writeJoinedJunctions(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_SUMO::writeLane(), NBRequest::writeLaneResponse(), NWWriter_SUMO::writeLocation(), NWWriter_XML::writeNodes(), NWWriter_SUMO::writeProhibitions(), NWWriter_SUMO::writeRoundabout(), RODFDetector::writeSingleSpeedTrigger(), RODFDetectorCon::writeSpeedTrigger(), SUMOVehicleParameter::writeStops(), MSFullExport::writeTLS(), NWWriter_SUMO::writeTrafficLights(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSFullExport::writeVehicles(), RORouteDef::writeXMLDefinition(), RORoute::writeXMLDefinition(), MSRouteProbe::writeXMLOutput(), and MSMeanData::writeXMLOutput().
|
staticinherited |
Creates the device using the output definition stored in the named option.
Creates and returns the device named by the option. Asks whether the option and retrieves the name from the option if so. Optionally the XML header gets written as well. Returns whether a device was created (option was set).
Please note, that we do not have to consider the "application base" herein, because this call is only used to get file names of files referenced within XML-declarations of structures which paths already is aware of the cwd.
[in] | optionName | The name of the option to use for retrieving the output definition |
[in] | rootElement | The root element to use (XML-output) |
IOError | If the output could not be built for any reason (error message is supplied) |
Definition at line 98 of file OutputDevice.cpp.
References OutputDevice::getDevice(), OptionsCont::getOptions(), and OutputDevice::writeXMLHeader().
Referenced by MSFrame::buildStreams(), MSDevice_Vehroutes::init(), and main().
|
static |
Returns the single cerr instance.
Creates and returns the cerr device.
Definition at line 50 of file OutputDevice_CERR.cpp.
References myInstance, and OutputDevice_CERR().
Referenced by OutputDevice::getDevice().
|
staticinherited |
Returns the described OutputDevice.
Creates and returns the named device. "stdout" and "stderr" refer to the relevant console streams, "hostname:port" initiates socket connection. Otherwise a filename is assumed (where "nul" and "/dev/null" do what you would expect on both platforms). If there already is a device with the same name this one is returned.
[in] | name | The description of the output name/port/whatever |
IOError | If the output could not be built for any reason (error message is supplied) |
Definition at line 65 of file OutputDevice.cpp.
References TplConvert::_2int(), OutputDevice_COUT::getDevice(), getDevice(), OutputDevice::getOStream(), FileHelpers::isSocket(), OutputDevice::myOutputDevices, and OutputDevice::setPrecision().
Referenced by MSDetectorControl::add(), NLDetectorBuilder::buildE2Detector(), NLDiscreteEventBuilder::buildSaveTLStateCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchesCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchStatesCommand(), NLDetectorBuilder::buildVTypeProbe(), OutputDevice::createDeviceByOption(), GUIDetectorBuilder::createInstantInductLoop(), NLDetectorBuilder::createInstantInductLoop(), OutputDevice::getDeviceByOption(), MsgHandler::initOutputOptions(), MSCalibrator::MSCalibrator(), MsgHandler::MsgHandler(), GUIDialog_ViewSettings::onCmdExportSetting(), GUIDialog_Breakpoints::onCmdSave(), GUIDialog_EditViewport::onCmdSave(), GUIParameterTracker::onCmdSave(), RONet::openOutput(), GUILoadThread::run(), PCPolyContainer::save(), RODFDetectorCon::save(), GUISelectedStorage::save(), RODFDetectorCon::saveAsPOIs(), GUIDialog_ViewSettings::saveDecals(), RODFDetectorCon::saveRoutes(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_XML::writeJoinedJunctions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWFrame::writeNetwork(), NWWriter_MATSim::writeNetwork(), NWWriter_SUMO::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), RODFDetector::writeSingleSpeedTrigger(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_XML::writeStreetSigns(), NWWriter_XML::writeTrafficLights(), and RODFDetectorCon::writeValidationDetectors().
|
staticinherited |
Returns the device described by the option.
Returns the device named by the option. If the option is unknown, unset or the device was not created before, InvalidArgument is thrown.
Please note, that we do not have to consider the "application base" herein.
[in] | name | The name of the option to use for retrieving the output definition |
IOError | If the output could not be built for any reason (error message is supplied) |
InvalidArgument | If the option with the given name does not exist |
Definition at line 116 of file OutputDevice.cpp.
References OutputDevice::getDevice(), OptionsCont::getOptions(), and OptionsCont::getString().
Referenced by MSPersonControl::erase(), MSDevice_HBEFA::generateOutput(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), main(), MSVehicleControl::scheduleVehicleRemoval(), and MSNet::writeOutput().
|
protectedvirtual |
Returns the associated ostream.
Implements OutputDevice.
Definition at line 71 of file OutputDevice_CERR.cpp.
|
inherited |
Retrieves a message to this device.
Implementation of the MessageRetriever interface. Writes the given message to the output device.
[in] | msg | The msg to write to the device |
Definition at line 231 of file OutputDevice.cpp.
References OutputDevice::getOStream(), and OutputDevice::postWriteHook().
|
inlineinherited |
Returns whether we have a binary output.
Definition at line 249 of file OutputDevice.h.
References OutputDevice::myAmBinary.
Referenced by MSDevice_Vehroutes::generateOutput().
|
inlineinherited |
writes a line feed if applicable
Definition at line 239 of file OutputDevice.h.
References OutputDevice::getOStream(), and OutputDevice::myAmBinary.
Referenced by NWWriter_SUMO::writeLocation(), NWWriter_SUMO::writeNetwork(), and NWWriter_SUMO::writeTrafficLights().
|
virtualinherited |
returns the information whether one can write into the device
Definition at line 171 of file OutputDevice.cpp.
References OutputDevice::getOStream().
|
inherited |
Opens an XML tag.
An indentation, depending on the current xml-element-stack size, is written followed by the given xml element ("<" + xmlElement) The xml element is added to the stack, then.
[in] | xmlElement | Name of element to open |
Definition at line 203 of file OutputDevice.cpp.
References OutputDevice::getOStream(), OutputDevice::myFormatter, and OutputFormatter::openTag().
Referenced by RORouteHandler::addStop(), MSPerson::MSPersonStage_Walking::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Walking::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSPersonControl::erase(), MSVTypeProbe::execute(), MSDevice_HBEFA::generateOutput(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), RORouteHandler::myStartElement(), RODFRouteCont::save(), PCPolyContainer::save(), RODFDetectorCon::save(), RODFDetectorCon::saveAsPOIs(), MSPerson::MSPersonStage_Walking::tripInfoOutput(), MSPerson::MSPersonStage_Driving::tripInfoOutput(), MSPerson::MSPersonStage_Waiting::tripInfoOutput(), MSVTKExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSQueueExport::write(), MSFullExport::write(), MSXMLRawOut::write(), SUMOVTypeParameter::write(), ODMatrix::write(), MSInstantInductLoop::write(), SUMOVehicleParameter::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSQueueExport::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), ODMatrix::writeFlows(), NWWriter_SUMO::writeInternalConnection(), NWWriter_SUMO::writeInternalEdge(), NWWriter_SUMO::writeInternalNodes(), NWWriter_XML::writeJoinedJunctions(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_SUMO::writeLane(), NBRequest::writeLaneResponse(), NWWriter_SUMO::writeLocation(), NWWriter_XML::writeNodes(), MSMeanData::writePrefix(), NWWriter_SUMO::writeProhibitions(), NWWriter_SUMO::writeRoundabout(), RODFDetector::writeSingleSpeedTrigger(), RODFDetectorCon::writeSpeedTrigger(), SUMOVehicleParameter::writeStops(), MSFullExport::writeTLS(), NWWriter_SUMO::writeTrafficLights(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSFullExport::writeVehicles(), RORouteDef::writeXMLDefinition(), RORoute::writeXMLDefinition(), MSRouteProbe::writeXMLOutput(), MSMeanData::writeXMLOutput(), and MSDevice_Vehroutes::writeXMLRoute().
|
inherited |
Opens an XML tag.
Helper method which finds the correct string before calling openTag.
[in] | xmlElement | Id of the element to open |
Definition at line 210 of file OutputDevice.cpp.
References OutputDevice::getOStream(), OutputDevice::myFormatter, and OutputFormatter::openTag().
|
inlineinherited |
Abstract output operator.
Definition at line 284 of file OutputDevice.h.
References OutputDevice::getOStream(), and OutputDevice::postWriteHook().
|
protectedvirtual |
Called after every write access.
Calls flush on stderr.
Reimplemented from OutputDevice.
Definition at line 77 of file OutputDevice_CERR.cpp.
|
staticinherited |
Helper method for string formatting.
[in] | v | The floating point value to be formatted |
[in] | precision | the precision to achieve |
Definition at line 135 of file OutputDevice.cpp.
Referenced by MSDevice_HBEFA::generateOutput(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
inherited |
Sets the precison or resets it to default.
[in] | precision | The accuracy (number of digits behind '.') to set |
Definition at line 190 of file OutputDevice.cpp.
References OutputDevice::getOStream().
Referenced by MSVTypeProbe::execute(), OutputDevice::getDevice(), MSFCDExport::write(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeLocation(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), and RORoute::writeXMLDefinition().
|
inherited |
writes an arbitrary attribute
[in] | attr | The attribute (name) |
[in] | val | The attribute value |
Definition at line 242 of file OutputDevice.cpp.
References OutputDevice::getOStream(), OutputDevice::myFormatter, and OutputFormatter::writeAttr().
Referenced by MSDevice_Vehroutes::generateOutput(), RONet::openOutput(), RODFRouteCont::save(), PCPolyContainer::save(), RODFDetectorCon::save(), RODFDetectorCon::saveAsPOIs(), MSFCDExport::write(), SUMOVTypeParameter::write(), ODMatrix::write(), MSInstantInductLoop::write(), SUMOVehicleParameter::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), ODMatrix::writeDefaultAttrs(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), ODMatrix::writeFlows(), NWWriter_SUMO::writeInternalConnection(), NWWriter_SUMO::writeInternalEdge(), NWWriter_SUMO::writeInternalNodes(), NWWriter_XML::writeJoinedJunctions(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NBRequest::writeLaneResponse(), NWWriter_SUMO::writeLocation(), NWWriter_XML::writeNodes(), NWWriter_SUMO::writePermissions(), NWFrame::writePositionLong(), NWWriter_SUMO::writePreferences(), MSMeanData::writePrefix(), NWWriter_SUMO::writeProhibitions(), NWWriter_SUMO::writeRoundabout(), RODFDetector::writeSingleSpeedTrigger(), RODFDetectorCon::writeSpeedTrigger(), SUMOVehicleParameter::writeStops(), NWWriter_SUMO::writeTrafficLights(), RODFDetectorCon::writeValidationDetectors(), RORouteDef::writeXMLDefinition(), RORoute::writeXMLDefinition(), and MSMeanData::writeXMLOutput().
|
inlineinherited |
writes a named attribute
[in] | attr | The attribute (name) |
[in] | val | The attribute value |
Definition at line 261 of file OutputDevice.h.
References OutputDevice::getOStream(), OutputDevice::myAmBinary, PlainXMLFormatter::writeAttr(), and BinaryFormatter::writeAttr().
|
inlineinherited |
Definition at line 186 of file OutputDevice.h.
References OutputDevice::getOStream(), OutputDevice::myAmBinary, and OutputDevice::myFormatter.
Referenced by RONet::openOutput().
|
inherited |
Writes an XML header with optional configuration.
If something has been written (myXMLStack is not empty), nothing is written and false returned.
[in] | rootElement | The root element to use |
[in] | attrs | Additional attributes to save within the rootElement |
[in] | comment | Additional comment (saved in front the rootElement) |
Check which parameter is used herein
Describe what is saved
Definition at line 196 of file OutputDevice.cpp.
References OutputDevice::getOStream(), OutputDevice::myFormatter, and OutputFormatter::writeXMLHeader().
Referenced by Command_SaveTLSState::Command_SaveTLSState(), Command_SaveTLSSwitches::Command_SaveTLSSwitches(), Command_SaveTLSSwitchStates::Command_SaveTLSSwitchStates(), OutputDevice::createDeviceByOption(), MSCalibrator::MSCalibrator(), MSVTypeProbe::MSVTypeProbe(), RONet::openOutput(), PCPolyContainer::save(), RODFDetectorCon::save(), RODFDetectorCon::saveAsPOIs(), RODFDetectorCon::saveRoutes(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_XML::writeJoinedJunctions(), NWWriter_SUMO::writeNetwork(), NWWriter_XML::writeNodes(), RODFDetector::writeSingleSpeedTrigger(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_XML::writeStreetSigns(), NWWriter_XML::writeTrafficLights(), RODFDetectorCon::writeValidationDetectors(), MSRouteProbe::writeXMLDetectorProlog(), MS_E2_ZS_CollectorOverLanes::writeXMLDetectorProlog(), MSInstantInductLoop::writeXMLDetectorProlog(), MSE2Collector::writeXMLDetectorProlog(), MSInductLoop::writeXMLDetectorProlog(), MSE3Collector::writeXMLDetectorProlog(), and MSMeanData::writeXMLDetectorProlog().
|
staticprivate |
my singular instance
Definition at line 84 of file OutputDevice_CERR.h.
Referenced by getDevice(), and ~OutputDevice_CERR().