35 : m_outputFileName(outputFileName),
37 m_hasHeadingBeenSet(false),
40 m_3dFormat(
"%e %e %e"),
41 m_4dFormat(
"%e %e %e %e"),
42 m_5dFormat(
"%e %e %e %e %e"),
43 m_6dFormat(
"%e %e %e %e %e %e"),
44 m_7dFormat(
"%e %e %e %e %e %e %e"),
45 m_8dFormat(
"%e %e %e %e %e %e %e %e"),
46 m_9dFormat(
"%e %e %e %e %e %e %e %e %e"),
47 m_10dFormat(
"%e %e %e %e %e %e %e %e %e %e")
179 int maxBufferSize = 500;
183 int charWritten = snprintf(buffer, maxBufferSize,
m_1dFormat.c_str(), v1);
190 m_file << buffer << std::endl;
195 m_file << v1 << std::endl;
213 int maxBufferSize = 500;
217 int charWritten = snprintf(buffer, maxBufferSize,
m_2dFormat.c_str(), v1, v2);
224 m_file << buffer << std::endl;
247 int maxBufferSize = 500;
251 int charWritten = snprintf(buffer, maxBufferSize,
m_3dFormat.c_str(), v1, v2, v3);
258 m_file << buffer << std::endl;
281 int maxBufferSize = 500;
285 int charWritten = snprintf(buffer, maxBufferSize,
m_4dFormat.c_str(), v1, v2, v3, v4);
292 m_file << buffer << std::endl;
316 int maxBufferSize = 500;
321 snprintf(buffer, maxBufferSize,
m_5dFormat.c_str(), v1, v2, v3, v4, v5);
328 m_file << buffer << std::endl;
358 int maxBufferSize = 500;
363 snprintf(buffer, maxBufferSize,
m_6dFormat.c_str(), v1, v2, v3, v4, v5, v6);
370 m_file << buffer << std::endl;
391 NS_LOG_FUNCTION(
this << context << v1 << v2 << v3 << v4 << v5 << v6 << v7);
401 int maxBufferSize = 500;
406 snprintf(buffer, maxBufferSize,
m_7dFormat.c_str(), v1, v2, v3, v4, v5, v6, v7);
413 m_file << buffer << std::endl;
435 NS_LOG_FUNCTION(
this << context << v1 << v2 << v3 << v4 << v5 << v6 << v7 << v8);
445 int maxBufferSize = 500;
450 snprintf(buffer, maxBufferSize,
m_8dFormat.c_str(), v1, v2, v3, v4, v5, v6, v7, v8);
457 m_file << buffer << std::endl;
481 NS_LOG_FUNCTION(
this << context << v1 << v2 << v3 << v4 << v5 << v6 << v7 << v8 << v9);
490 int maxBufferSize = 500;
494 int charWritten = snprintf(buffer,
512 m_file << buffer << std::endl;
537 NS_LOG_FUNCTION(
this << context << v1 << v2 << v3 << v4 << v5 << v6 << v7 << v8 << v9 << v10);
546 int maxBufferSize = 500;
550 int charWritten = snprintf(buffer,
569 m_file << buffer << std::endl;
Base class for data collection framework objects.
bool m_enabled
Object's activation state.
~FileAggregator() override
void Set4dFormat(const std::string &format)
Sets the 4D format string for the C-style sprintf() function.
void Write7d(std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7)
Writes 7 values to the file.
void Write3d(std::string context, double v1, double v2, double v3)
Writes 3 values to the file.
std::string m_separator
Printed between values in the file.
void Set6dFormat(const std::string &format)
Sets the 6D format string for the C-style sprintf() function.
std::string m_5dFormat
Format string for 5D C-style sprintf() function.
FileType m_fileType
Determines the kind of file written by the aggregator.
std::string m_4dFormat
Format string for 4D C-style sprintf() function.
void Set8dFormat(const std::string &format)
Sets the 8D format string for the C-style sprintf() function.
void Write1d(std::string context, double v1)
Writes 1 value to the file.
void Set7dFormat(const std::string &format)
Sets the 7D format string for the C-style sprintf() function.
void Write9d(std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double v9)
Writes 9 values to the file.
void Write4d(std::string context, double v1, double v2, double v3, double v4)
Writes 4 values to the file.
void Set2dFormat(const std::string &format)
Sets the 2D format string for the C-style sprintf() function.
void SetFileType(FileType fileType)
Set the file type to create, which determines the separator to use when printing values to the file.
void Set9dFormat(const std::string &format)
Sets the 9D format string for the C-style sprintf() function.
std::string m_10dFormat
Format string for 10D C-style sprintf() function.
std::ofstream m_file
Used to write values to the file.
void Write2d(std::string context, double v1, double v2)
Writes 2 values to the file.
std::string m_9dFormat
Format string for 9D C-style sprintf() function.
void Write5d(std::string context, double v1, double v2, double v3, double v4, double v5)
Writes 5 values to the file.
void Set3dFormat(const std::string &format)
Sets the 3D format string for the C-style sprintf() function.
void Set1dFormat(const std::string &format)
Sets the 1D format string for the C-style sprintf() function.
bool m_hasHeadingBeenSet
Indicates if the heading line for the file has been set.
std::string m_7dFormat
Format string for 7D C-style sprintf() function.
std::string m_heading
Heading line for the outputfile.
void Set10dFormat(const std::string &format)
Sets the 10D format string for the C-style sprintf() function.
FileAggregator(const std::string &outputFileName, FileType fileType=SPACE_SEPARATED)
void Write6d(std::string context, double v1, double v2, double v3, double v4, double v5, double v6)
Writes 6 values to the file.
void Set5dFormat(const std::string &format)
Sets the 5D format string for the C-style sprintf() function.
std::string m_3dFormat
Format string for 3D C-style sprintf() function.
void SetHeading(const std::string &heading)
Sets the heading string that will be printed on the first line of the file.
std::string m_1dFormat
Format string for 1D C-style sprintf() function.
std::string m_outputFileName
The file name.
std::string m_6dFormat
Format string for 6D C-style sprintf() function.
std::string m_8dFormat
Format string for 8D C-style sprintf() function.
void Write8d(std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8)
Writes 8 values to the file.
FileType
The type of file written by the aggregator.
std::string m_2dFormat
Format string for 2D C-style sprintf() function.
void Write10d(std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double v9, double v10)
Writes 10 values to the file.
static TypeId GetTypeId()
Get the type ID.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.