SUMO - Simulation of Urban MObility
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
OutputDevice_File.cpp
Go to the documentation of this file.
1
/****************************************************************************/
8
// An output device that encapsulates an ofstream
9
/****************************************************************************/
10
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
11
// Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
12
/****************************************************************************/
13
//
14
// This file is part of SUMO.
15
// SUMO is free software: you can redistribute it and/or modify
16
// it under the terms of the GNU General Public License as published by
17
// the Free Software Foundation, either version 3 of the License, or
18
// (at your option) any later version.
19
//
20
/****************************************************************************/
21
22
23
// ===========================================================================
24
// included modules
25
// ===========================================================================
26
#ifdef _MSC_VER
27
#include <
windows_config.h
>
28
#else
29
#include <
config.h
>
30
#endif
31
32
#include <iostream>
33
#include <
utils/common/UtilExceptions.h
>
34
#include "
OutputDevice_File.h
"
35
36
#ifdef CHECK_MEMORY_LEAKS
37
#include <
foreign/nvwa/debug_new.h
>
38
#endif // CHECK_MEMORY_LEAKS
39
40
41
// ===========================================================================
42
// method definitions
43
// ===========================================================================
44
OutputDevice_File::OutputDevice_File
(
const
std::string& fullName,
const
bool
binary)
45
:
OutputDevice
(binary), myFileStream(0) {
46
#ifdef WIN32
47
if
(fullName ==
"/dev/null"
) {
48
myFileStream
=
new
std::ofstream(
"NUL"
);
49
#else
50
if
(fullName ==
"nul"
|| fullName ==
"NUL"
) {
51
myFileStream
=
new
std::ofstream(
"/dev/null"
);
52
#endif
53
}
else
{
54
myFileStream
=
new
std::ofstream(fullName.c_str(), binary ? std::ios::binary : std::ios_base::out);
55
}
56
if
(!
myFileStream
->good()) {
57
delete
myFileStream
;
58
throw
IOError
(
"Could not build output file '"
+ fullName +
"'."
);
59
}
60
}
61
62
63
OutputDevice_File::~OutputDevice_File
() {
64
myFileStream
->close();
65
delete
myFileStream
;
66
}
67
68
69
std::ostream&
70
OutputDevice_File::getOStream
() {
71
return
*
myFileStream
;
72
}
73
74
75
/****************************************************************************/
76
build
buildd
sumo-0.18~dfsg
src
utils
iodevices
OutputDevice_File.cpp
Generated on Wed Oct 23 2013 01:15:12 for SUMO - Simulation of Urban MObility by
1.8.4