diff --git a/doc/manual/source/gnuplot.rst b/doc/manual/source/gnuplot.rst index 2fc8b77ff..171c6f545 100644 --- a/doc/manual/source/gnuplot.rst +++ b/doc/manual/source/gnuplot.rst @@ -81,13 +81,11 @@ The following 2-Dimensional plot was created using the following code from gnuplot-example.cc: :: - using namespace std; - - string fileNameWithNoExtension = "plot-2d"; - string graphicsFileName = fileNameWithNoExtension + ".png"; - string plotFileName = fileNameWithNoExtension + ".plt"; - string plotTitle = "2-D Plot"; - string dataTitle = "2-D Data"; + std::string fileNameWithNoExtension = "plot-2d"; + std::string graphicsFileName = fileNameWithNoExtension + ".png"; + std::string plotFileName = fileNameWithNoExtension + ".plt"; + std::string plotTitle = "2-D Plot"; + std::string dataTitle = "2-D Data"; // Instantiate the plot and set its title. Gnuplot plot (graphicsFileName); @@ -130,7 +128,7 @@ was created using the following code from gnuplot-example.cc: :: plot.AddDataset (dataset); // Open the plot file. - ofstream plotFile (plotFileName.c_str()); + std::ofstream plotFile (plotFileName.c_str()); // Write the plot file. plot.GenerateOutput (plotFile); @@ -149,13 +147,11 @@ The following 2-Dimensional plot with error bars in the x and y directions was created using the following code from gnuplot-example.cc: :: - using namespace std; - - string fileNameWithNoExtension = "plot-2d-with-error-bars"; - string graphicsFileName = fileNameWithNoExtension + ".png"; - string plotFileName = fileNameWithNoExtension + ".plt"; - string plotTitle = "2-D Plot With Error Bars"; - string dataTitle = "2-D Data With Error Bars"; + std::string fileNameWithNoExtension = "plot-2d-with-error-bars"; + std::string graphicsFileName = fileNameWithNoExtension + ".png"; + std::string plotFileName = fileNameWithNoExtension + ".plt"; + std::string plotTitle = "2-D Plot With Error Bars"; + std::string dataTitle = "2-D Data With Error Bars"; // Instantiate the plot and set its title. Gnuplot plot (graphicsFileName); @@ -210,7 +206,7 @@ was created using the following code from gnuplot-example.cc: :: plot.AddDataset (dataset); // Open the plot file. - ofstream plotFile (plotFileName.c_str()); + std::ofstream plotFile (plotFileName.c_str()); // Write the plot file. plot.GenerateOutput (plotFile); @@ -229,13 +225,11 @@ The following 3-Dimensional plot was created using the following code from gnuplot-example.cc: :: - using namespace std; - - string fileNameWithNoExtension = "plot-3d"; - string graphicsFileName = fileNameWithNoExtension + ".png"; - string plotFileName = fileNameWithNoExtension + ".plt"; - string plotTitle = "3-D Plot"; - string dataTitle = "3-D Data"; + std::string fileNameWithNoExtension = "plot-3d"; + std::string graphicsFileName = fileNameWithNoExtension + ".png"; + std::string plotFileName = fileNameWithNoExtension + ".plt"; + std::string plotTitle = "3-D Plot"; + std::string dataTitle = "3-D Data"; // Instantiate the plot and set its title. Gnuplot plot (graphicsFileName); @@ -296,7 +290,7 @@ was created using the following code from gnuplot-example.cc: :: plot.AddDataset (dataset); // Open the plot file. - ofstream plotFile (plotFileName.c_str()); + std::ofstream plotFile (plotFileName.c_str()); // Write the plot file. plot.GenerateOutput (plotFile); diff --git a/examples/matrix-topology/matrix-topology.cc b/examples/matrix-topology/matrix-topology.cc index ea83675cc..b79098492 100644 --- a/examples/matrix-topology/matrix-topology.cc +++ b/examples/matrix-topology/matrix-topology.cc @@ -56,15 +56,14 @@ #include "ns3/assert.h" #include "ns3/ipv4-global-routing-helper.h" -using namespace std; using namespace ns3; // ---------- Prototypes ------------------------------------------------------ -vector > readNxNMatrix (std::string adj_mat_file_name); -vector > readCordinatesFile (std::string node_coordinates_file_name); -void printCoordinateArray (const char* description, vector > coord_array); -void printMatrix (const char* description, vector > array); +std::vector> readNxNMatrix (std::string adj_mat_file_name); +std::vector> readCordinatesFile (std::string node_coordinates_file_name); +void printCoordinateArray (const char* description, std::vector> coord_array); +void printMatrix (const char* description, std::vector> array); NS_LOG_COMPONENT_DEFINE ("GenericTopologyCreation"); @@ -106,7 +105,7 @@ int main (int argc, char *argv[]) // ---------- Read Adjacency Matrix ---------------------------------------- - vector > Adj_Matrix; + std::vector> Adj_Matrix; Adj_Matrix = readNxNMatrix (adj_mat_file_name); // Optionally display 2-dimensional adjacency matrix (Adj_Matrix) array @@ -116,7 +115,7 @@ int main (int argc, char *argv[]) // ---------- Read Node Coordinates File ----------------------------------- - vector > coord_array; + std::vector> coord_array; coord_array = readCordinatesFile (node_coordinates_file_name); // Optionally display node co-ordinates file @@ -294,21 +293,21 @@ int main (int argc, char *argv[]) // ---------- Function Definitions ------------------------------------------- -vector > readNxNMatrix (std::string adj_mat_file_name) +std::vector> readNxNMatrix (std::string adj_mat_file_name) { - ifstream adj_mat_file; - adj_mat_file.open (adj_mat_file_name.c_str (), ios::in); + std::ifstream adj_mat_file; + adj_mat_file.open (adj_mat_file_name.c_str (), std::ios::in); if (adj_mat_file.fail ()) { NS_FATAL_ERROR ("File " << adj_mat_file_name.c_str () << " not found"); } - vector > array; + std::vector> array; int i = 0; int n_nodes = 0; while (!adj_mat_file.eof ()) { - string line; + std::string line; getline (adj_mat_file, line); if (line == "") { @@ -316,9 +315,9 @@ vector > readNxNMatrix (std::string adj_mat_file_name) break; } - istringstream iss (line); + std::istringstream iss (line); bool element; - vector row; + std::vector row; int j = 0; while (iss >> element) @@ -355,20 +354,20 @@ vector > readNxNMatrix (std::string adj_mat_file_name) } -vector > readCordinatesFile (std::string node_coordinates_file_name) +std::vector> readCordinatesFile (std::string node_coordinates_file_name) { - ifstream node_coordinates_file; - node_coordinates_file.open (node_coordinates_file_name.c_str (), ios::in); + std::ifstream node_coordinates_file; + node_coordinates_file.open (node_coordinates_file_name.c_str (), std::ios::in); if (node_coordinates_file.fail ()) { NS_FATAL_ERROR ("File " << node_coordinates_file_name.c_str () << " not found"); } - vector > coord_array; + std::vector> coord_array; int m = 0; while (!node_coordinates_file.eof ()) { - string line; + std::string line; getline (node_coordinates_file, line); if (line == "") @@ -377,9 +376,9 @@ vector > readCordinatesFile (std::string node_coordinates_file_na break; } - istringstream iss (line); + std::istringstream iss (line); double coordinate; - vector row; + std::vector row; int n = 0; while (iss >> coordinate) { @@ -404,33 +403,33 @@ vector > readCordinatesFile (std::string node_coordinates_file_na } -void printMatrix (const char* description, vector > array) +void printMatrix (const char* description, std::vector> array) { - cout << "**** Start " << description << "********" << endl; + std::cout << "**** Start " << description << "********" << std::endl; for (size_t m = 0; m < array.size (); m++) { for (size_t n = 0; n < array[m].size (); n++) { - cout << array[m][n] << ' '; + std::cout << array[m][n] << ' '; } - cout << endl; + std::cout << std::endl; } - cout << "**** End " << description << "********" << endl; + std::cout << "**** End " << description << "********" << std::endl; } -void printCoordinateArray (const char* description, vector > coord_array) +void printCoordinateArray (const char* description, std::vector> coord_array) { - cout << "**** Start " << description << "********" << endl; + std::cout << "**** Start " << description << "********" << std::endl; for (size_t m = 0; m < coord_array.size (); m++) { for (size_t n = 0; n < coord_array[m].size (); n++) { - cout << coord_array[m][n] << ' '; + std::cout << coord_array[m][n] << ' '; } - cout << endl; + std::cout << std::endl; } - cout << "**** End " << description << "********" << endl; + std::cout << "**** End " << description << "********" << std::endl; } diff --git a/examples/stats/wifi-example-sim.cc b/examples/stats/wifi-example-sim.cc index fc8a813a6..e06e93f1c 100644 --- a/examples/stats/wifi-example-sim.cc +++ b/examples/stats/wifi-example-sim.cc @@ -41,7 +41,6 @@ #include "wifi-example-apps.h" using namespace ns3; -using namespace std; NS_LOG_COMPONENT_DEFINE ("WiFiDistanceExperiment"); @@ -62,15 +61,15 @@ void TxCallback (Ptr > datac, int main (int argc, char *argv[]) { double distance = 50.0; - string format ("omnet"); + std::string format ("omnet"); - string experiment ("wifi-distance-test"); - string strategy ("wifi-default"); - string input; - string runID; + std::string experiment ("wifi-distance-test"); + std::string strategy ("wifi-default"); + std::string input; + std::string runID; { - stringstream sstr; + std::stringstream sstr; sstr << "run-" << time (NULL); runID = sstr.str (); } @@ -102,7 +101,7 @@ int main (int argc, char *argv[]) { #endif { - stringstream sstr (""); + std::stringstream sstr (""); sstr << distance; input = sstr.str (); } diff --git a/examples/wireless/wifi-power-adaptation-distance.cc b/examples/wireless/wifi-power-adaptation-distance.cc index da1fb86dd..65dfcc4ad 100644 --- a/examples/wireless/wifi-power-adaptation-distance.cc +++ b/examples/wireless/wifi-power-adaptation-distance.cc @@ -105,11 +105,10 @@ #include "ns3/mobility-model.h" using namespace ns3; -using namespace std; NS_LOG_COMPONENT_DEFINE ("PowerAdaptationDistance"); -/// Pcket size generated at the AP +/// Packet size generated at the AP static const uint32_t packetSize = 1420; /** diff --git a/examples/wireless/wifi-power-adaptation-interference.cc b/examples/wireless/wifi-power-adaptation-interference.cc index 7bf4ec90c..250eef64f 100644 --- a/examples/wireless/wifi-power-adaptation-interference.cc +++ b/examples/wireless/wifi-power-adaptation-interference.cc @@ -76,7 +76,6 @@ #include "ns3/ipv4-flow-classifier.h" using namespace ns3; -using namespace std; NS_LOG_COMPONENT_DEFINE ("PowerAdaptationInterference"); diff --git a/examples/wireless/wifi-rate-adaptation-distance.cc b/examples/wireless/wifi-rate-adaptation-distance.cc index a072b3805..f935578b2 100644 --- a/examples/wireless/wifi-rate-adaptation-distance.cc +++ b/examples/wireless/wifi-rate-adaptation-distance.cc @@ -67,7 +67,6 @@ #include "ns3/mobility-model.h" using namespace ns3; -using namespace std; NS_LOG_COMPONENT_DEFINE ("RateAdaptationDistance"); diff --git a/src/core/test/type-id-test-suite.cc b/src/core/test/type-id-test-suite.cc index e2d5cc67d..addb0e02b 100644 --- a/src/core/test/type-id-test-suite.cc +++ b/src/core/test/type-id-test-suite.cc @@ -30,8 +30,6 @@ #include "ns3/test.h" #include "ns3/log.h" -using namespace std; - using namespace ns3; /// Const string used to build the test name. @@ -77,34 +75,34 @@ UniqueTypeIdTestCase::~UniqueTypeIdTestCase () void UniqueTypeIdTestCase::DoRun (void) { - cout << suite << endl; - cout << suite << GetName () << endl; + std::cout << suite << std::endl; + std::cout << suite << GetName () << std::endl; // Use same custom hasher as TypeId ns3::Hasher hasher = ns3::Hasher ( Create () ); uint32_t nids = TypeId::GetRegisteredN (); - cout << suite << "UniqueTypeIdTestCase: nids: " << nids << endl; - cout << suite << "TypeId list:" << endl; - cout << suite << "TypeId Chain hash Name" << endl; + std::cout << suite << "UniqueTypeIdTestCase: nids: " << nids << std::endl; + std::cout << suite << "TypeId list:" << std::endl; + std::cout << suite << "TypeId Chain hash Name" << std::endl; for (uint16_t i = 0; i < nids; ++i) { const TypeId tid = TypeId::GetRegistered (i); - cout << suite << "" << std::setw (6) << tid.GetUid (); + std::cout << suite << "" << std::setw (6) << tid.GetUid (); if (tid.GetHash () & HashChainFlag) { - cout << " chain"; + std::cout << " chain"; } else { - cout << " "; + std::cout << " "; } - cout << " 0x" << std::setfill ('0') << std::hex << std::setw (8) + std::cout << " 0x" << std::setfill ('0') << std::hex << std::setw (8) << tid.GetHash () << std::dec << std::setfill (' ') << " " << tid.GetName () - << endl; + << std::endl; NS_TEST_ASSERT_MSG_EQ (tid.GetUid (), TypeId::LookupByName (tid.GetName ()).GetUid (), @@ -124,7 +122,7 @@ UniqueTypeIdTestCase::DoRun (void) } - cout << suite << "<-- end TypeId list -->" << endl; + std::cout << suite << "<-- end TypeId list -->" << std::endl; } @@ -157,49 +155,49 @@ CollisionTestCase::~CollisionTestCase () void CollisionTestCase::DoRun (void) { - cout << suite << endl; - cout << suite << GetName () << endl; + std::cout << suite << std::endl; + std::cout << suite << GetName () << std::endl; // Register two types whose hashes collide, in alphabetical order // Murmur3 collision from /usr/share/dict/web2 - string t1Name = "daemon"; - string t2Name = "unerring"; - cout << suite << "creating colliding types " + std::string t1Name = "daemon"; + std::string t2Name = "unerring"; + std::cout << suite << "creating colliding types " << "'" << t1Name << "', '" << t2Name << "'" << " in alphabetical order:" - << endl; + << std::endl; TypeId t1 (t1Name); TypeId t2 (t2Name); // Check that they are alphabetical: t1 name < t2 name NS_TEST_ASSERT_MSG_EQ ( (t1.GetHash () & HashChainFlag), 0, "First and lesser TypeId has HashChainFlag set"); - cout << suite << "collision: first,lesser not chained: OK" << endl; + std::cout << suite << "collision: first,lesser not chained: OK" << std::endl; NS_TEST_ASSERT_MSG_NE ( (t2.GetHash () & HashChainFlag), 0, "Second and greater TypeId does not have HashChainFlag set"); - cout << suite << "collision: second,greater chained: OK" << endl; + std::cout << suite << "collision: second,greater chained: OK" << std::endl; // Register colliding types in reverse alphabetical order // Murmur3 collision from /usr/share/dict/web2 - string t3Name = "trigonon"; - string t4Name = "seriation"; - cout << suite << "creating colliding types " + std::string t3Name = "trigonon"; + std::string t4Name = "seriation"; + std::cout << suite << "creating colliding types " << "'" << t3Name << "', '" << t4Name << "'" << " in reverse alphabetical order:" - << endl; + << std::endl; TypeId t3 (t3Name.c_str ()); TypeId t4 (t4Name.c_str ()); // Check that they are alphabetical: t3 name > t4 name NS_TEST_ASSERT_MSG_NE ( (t3.GetHash () & HashChainFlag), 0, "First and greater TypeId does not have HashChainFlag set"); - cout << suite << "collision: first,greater chained: OK" << endl; + std::cout << suite << "collision: first,greater chained: OK" << std::endl; NS_TEST_ASSERT_MSG_EQ ( (t4.GetHash () & HashChainFlag), 0, "Second and lesser TypeId has HashChainFlag set"); - cout << suite << "collision: second,lesser not chained: OK" << endl; + std::cout << suite << "collision: second,lesser not chained: OK" << std::endl; /** TODO Extra credit: register three types whose hashes collide * @@ -317,40 +315,40 @@ DeprecatedAttributeTestCase::~DeprecatedAttributeTestCase () void DeprecatedAttributeTestCase::DoRun (void) { - cerr << suite << endl; - cerr << suite << GetName () << endl; + std::cerr << suite << std::endl; + std::cerr << suite << GetName () << std::endl; TypeId tid = DeprecatedAttribute::GetTypeId (); - cerr << suite << "DeprecatedAttribute TypeId: " << tid.GetUid () << endl; + std::cerr << suite << "DeprecatedAttribute TypeId: " << tid.GetUid () << std::endl; // Try the lookups struct TypeId::AttributeInformation ainfo; NS_TEST_ASSERT_MSG_EQ (tid.LookupAttributeByName ("attribute", &ainfo), true, "lookup new attribute"); - cerr << suite << "lookup new attribute:" + std::cerr << suite << "lookup new attribute:" << (ainfo.supportLevel == TypeId::SUPPORTED ? "supported" : "error") - << endl; + << std::endl; NS_TEST_ASSERT_MSG_EQ (tid.LookupAttributeByName ("oldAttribute", &ainfo), true, "lookup old attribute"); - cerr << suite << "lookup old attribute:" + std::cerr << suite << "lookup old attribute:" << (ainfo.supportLevel == TypeId::DEPRECATED ? "deprecated" : "error") - << endl; + << std::endl; struct TypeId::TraceSourceInformation tinfo; Ptr acc; acc = tid.LookupTraceSourceByName ("trace", &tinfo); NS_TEST_ASSERT_MSG_NE (acc, 0, "lookup new trace source"); - cerr << suite << "lookup new trace source:" + std::cerr << suite << "lookup new trace source:" << (tinfo.supportLevel == TypeId::SUPPORTED ? "supported" : "error") - << endl; + << std::endl; acc = tid.LookupTraceSourceByName ("oldTrace", &tinfo); NS_TEST_ASSERT_MSG_NE (acc, 0, "lookup old trace source"); - cerr << suite << "lookup old trace source:" + std::cerr << suite << "lookup old trace source:" << (tinfo.supportLevel == TypeId::DEPRECATED ? "deprecated" : "error") - << endl; + << std::endl; } @@ -391,8 +389,8 @@ LookupTimeTestCase::~LookupTimeTestCase () void LookupTimeTestCase::DoRun (void) { - cout << suite << endl; - cout << suite << GetName () << endl; + std::cout << suite << std::endl; + std::cout << suite << GetName () << std::endl; uint32_t nids = TypeId::GetRegisteredN (); @@ -427,9 +425,9 @@ LookupTimeTestCase::DoSetup (void) { uint32_t nids = TypeId::GetRegisteredN (); - cout << suite << "Lookup time: reps: " << REPETITIONS + std::cout << suite << "Lookup time: reps: " << REPETITIONS << ", num TypeId's: " << nids - << endl; + << std::endl; } @@ -442,11 +440,11 @@ LookupTimeTestCase::Report (const std::string how, double per = 1E6 * double(delta) / (reps * double(CLOCKS_PER_SEC)); - cout << suite << "Lookup time: by " << how << ": " + std::cout << suite << "Lookup time: by " << how << ": " << "ticks: " << delta << "\tper: " << per << " microsec/lookup" - << endl; + << std::endl; } diff --git a/src/lr-wpan/examples/lr-wpan-error-distance-plot.cc b/src/lr-wpan/examples/lr-wpan-error-distance-plot.cc index d47e974f8..2e72d9812 100644 --- a/src/lr-wpan/examples/lr-wpan-error-distance-plot.cc +++ b/src/lr-wpan/examples/lr-wpan-error-distance-plot.cc @@ -52,7 +52,6 @@ #include using namespace ns3; -using namespace std; static uint32_t g_received = 0; //!< number of packets received diff --git a/src/lr-wpan/examples/lr-wpan-error-model-plot.cc b/src/lr-wpan/examples/lr-wpan-error-model-plot.cc index 6f2adb30c..0965d0997 100644 --- a/src/lr-wpan/examples/lr-wpan-error-model-plot.cc +++ b/src/lr-wpan/examples/lr-wpan-error-model-plot.cc @@ -33,7 +33,6 @@ #include using namespace ns3; -using namespace std; NS_LOG_COMPONENT_DEFINE ("LrWpanErrorModelPlot"); @@ -81,4 +80,3 @@ set style increment user"); return 0; } - diff --git a/src/stats/doc/aggregator.rst b/src/stats/doc/aggregator.rst index f30ec22da..4704297c7 100644 --- a/src/stats/doc/aggregator.rst +++ b/src/stats/doc/aggregator.rst @@ -140,14 +140,12 @@ GnuplotAggregator as was discussed above. void Create2dPlot () { - using namespace std; - - string fileNameWithoutExtension = "gnuplot-aggregator"; - string plotTitle = "Gnuplot Aggregator Plot"; - string plotXAxisHeading = "Time (seconds)"; - string plotYAxisHeading = "Double Values"; - string plotDatasetLabel = "Data Values"; - string datasetContext = "Dataset/Context/String"; + std::string fileNameWithoutExtension = "gnuplot-aggregator"; + std::string plotTitle = "Gnuplot Aggregator Plot"; + std::string plotXAxisHeading = "Time (seconds)"; + std::string plotYAxisHeading = "Double Values"; + std::string plotDatasetLabel = "Data Values"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator. Ptr aggregator = @@ -285,10 +283,8 @@ FileAggregator as was discussed above. void CreateCommaSeparatedFile () { - using namespace std; - - string fileName = "file-aggregator-comma-separated.txt"; - string datasetContext = "Dataset/Context/String"; + std::string fileName = "file-aggregator-comma-separated.txt"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator. Ptr aggregator = @@ -351,10 +347,8 @@ FileAggregator as was discussed above. void CreateFormattedFile () { - using namespace std; - - string fileName = "file-aggregator-formatted-values.txt"; - string datasetContext = "Dataset/Context/String"; + std::string fileName = "file-aggregator-formatted-values.txt"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator that will have formatted values. Ptr aggregator = diff --git a/src/stats/examples/file-aggregator-example.cc b/src/stats/examples/file-aggregator-example.cc index aa7c8d6b0..0878fce25 100644 --- a/src/stats/examples/file-aggregator-example.cc +++ b/src/stats/examples/file-aggregator-example.cc @@ -31,10 +31,8 @@ namespace { */ void CreateCommaSeparatedFile () { - using namespace std; - - string fileName = "file-aggregator-comma-separated.txt"; - string datasetContext = "Dataset/Context/String"; + std::string fileName = "file-aggregator-comma-separated.txt"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator. Ptr aggregator = @@ -71,10 +69,8 @@ void CreateCommaSeparatedFile () */ void CreateSpaceSeparatedFile () { - using namespace std; - - string fileName = "file-aggregator-space-separated.txt"; - string datasetContext = "Dataset/Context/String"; + std::string fileName = "file-aggregator-space-separated.txt"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator. Note that the default type is space // separated. @@ -111,10 +107,8 @@ void CreateSpaceSeparatedFile () */ void CreateFormattedFile () { - using namespace std; - - string fileName = "file-aggregator-formatted-values.txt"; - string datasetContext = "Dataset/Context/String"; + std::string fileName = "file-aggregator-formatted-values.txt"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator that will have formatted values. Ptr aggregator = diff --git a/src/stats/examples/gnuplot-aggregator-example.cc b/src/stats/examples/gnuplot-aggregator-example.cc index 91debf228..dfa21c697 100644 --- a/src/stats/examples/gnuplot-aggregator-example.cc +++ b/src/stats/examples/gnuplot-aggregator-example.cc @@ -30,14 +30,12 @@ namespace { */ void Create2dPlot () { - using namespace std; - - string fileNameWithoutExtension = "gnuplot-aggregator"; - string plotTitle = "Gnuplot Aggregator Plot"; - string plotXAxisHeading = "Time (seconds)"; - string plotYAxisHeading = "Double Values"; - string plotDatasetLabel = "Data Values"; - string datasetContext = "Dataset/Context/String"; + std::string fileNameWithoutExtension = "gnuplot-aggregator"; + std::string plotTitle = "Gnuplot Aggregator Plot"; + std::string plotXAxisHeading = "Time (seconds)"; + std::string plotYAxisHeading = "Double Values"; + std::string plotDatasetLabel = "Data Values"; + std::string datasetContext = "Dataset/Context/String"; // Create an aggregator. Ptr aggregator =