diff --git a/Device/IO/IOFactory.cpp b/Device/IO/IOFactory.cpp index baae6e36a28e904bb250da2e166d0a451e0c43cf..7ff7267e37ce07a466e9edde4095377ca6352fca 100644 --- a/Device/IO/IOFactory.cpp +++ b/Device/IO/IOFactory.cpp @@ -50,8 +50,7 @@ Datafield* IOFactory::readDatafield(const std::string& file_name, LoaderSelector Datafield* result = nullptr; if (readAs(bornagain)) - result = functional_read(file_name, - [](std::istream& s) { return ReadWriteINT().readDatafield(s); }); + result = functional_read(file_name, [](std::istream& s) { return IO::readBAInt(s); }); else if (readAs(nicos)) result = functional_read(file_name, [](std::istream& s) { return IO::readNicos(s); }); @@ -81,8 +80,7 @@ void IOFactory::writeDatafield(const Datafield& data, const std::string& file_na { try { if (DataUtil::Format::isIntFile(file_name)) - functional_write(file_name, - [&](std::ostream& s) { ReadWriteINT().writeDatafield(data, s); }); + functional_write(file_name, [&](std::ostream& s) { IO::writeBAInt(data, s); }); #ifdef BA_TIFF_SUPPORT else if (DataUtil::Format::isTiffFile(file_name)) functional_write(file_name, [&](std::ostream& s) { IO::writeTiff(data, s); }); diff --git a/Device/IO/ReadWriteINT.cpp b/Device/IO/ReadWriteINT.cpp index d944ffffaf41256c3d38ba22acf88c3dc832b7be..88b2cf982ccafeb53bc65eed31f6ae9c03086187 100644 --- a/Device/IO/ReadWriteINT.cpp +++ b/Device/IO/ReadWriteINT.cpp @@ -3,7 +3,7 @@ // BornAgain: simulate and fit reflection and scattering // //! @file Device/IO/ReadWriteINT.cpp -//! @brief Implements class ReadWriteINT. +//! @brief Implements functions read|writeBAInt //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -42,7 +42,7 @@ void writeDatafieldDoubles(const std::vector<double>& dataValues, std::ostream& } } -Datafield* ReadWriteINT::readDatafield(std::istream& input_stream) +Datafield* IO::readBAInt(std::istream& input_stream) { std::string line; @@ -62,7 +62,7 @@ Datafield* ReadWriteINT::readDatafield(std::istream& input_stream) return result; } -void ReadWriteINT::writeDatafield(const Datafield& data, std::ostream& output_stream) +void IO::writeBAInt(const Datafield& data, std::ostream& output_stream) { output_stream << "# BornAgain Intensity Data\n\n"; diff --git a/Device/IO/ReadWriteINT.h b/Device/IO/ReadWriteINT.h index 6e29f8d5fffd4cb4c26316e675f5e903ebad3181..1f2403c291ec03557e2bebf8b495434a43a0fe90 100644 --- a/Device/IO/ReadWriteINT.h +++ b/Device/IO/ReadWriteINT.h @@ -3,7 +3,7 @@ // BornAgain: simulate and fit reflection and scattering // //! @file Device/IO/ReadWriteINT.h -//! @brief Defines ReadWriteINT +//! @brief Declares functions read|writeBAInt //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -18,17 +18,17 @@ #ifndef BORNAGAIN_DEVICE_IO_READWRITEINT_H #define BORNAGAIN_DEVICE_IO_READWRITEINT_H -#include <istream> -#include <vector> +#include <iostream> class Datafield; -//! Class for reading and writing BornAgain native IntensityData from ASCII file. +namespace IO { -class ReadWriteINT { -public: - static Datafield* readDatafield(std::istream& input_stream); - static void writeDatafield(const Datafield& data, std::ostream& output_stream); -}; +//! Write Datafield as BornAgain intensity ASCII file. +Datafield* readBAInt(std::istream& input_stream); +//! Read Datafield from BornAgain intensity ASCII file. +void writeBAInt(const Datafield& data, std::ostream& output_stream); + +}; // namespace IO #endif // BORNAGAIN_DEVICE_IO_READWRITEINT_H diff --git a/GUI/Model/Axis/PointwiseAxisItem.cpp b/GUI/Model/Axis/PointwiseAxisItem.cpp index f52622670f96218e143b354dcdc1ebc79238bf75..4fb9fa791460a8002b8c587d3810f7bd74e30911 100644 --- a/GUI/Model/Axis/PointwiseAxisItem.cpp +++ b/GUI/Model/Axis/PointwiseAxisItem.cpp @@ -76,7 +76,7 @@ QByteArray PointwiseAxisItem::serializeBinaryData() const Datafield axisData({m_axis->clone()}); std::stringstream ss; - ReadWriteINT().writeDatafield(axisData, ss); + IO::writeBAInt(axisData, ss); return QByteArray(ss.str().c_str(), static_cast<int>(ss.str().size())); } @@ -86,7 +86,7 @@ void PointwiseAxisItem::deserializeBinaryData(const QByteArray& data) return; std::istringstream str(data.toStdString()); - std::unique_ptr<Datafield> d(ReadWriteINT().readDatafield(str)); + std::unique_ptr<Datafield> d(IO::readBAInt(str)); m_axis = std::unique_ptr<Scale>(d->axis(0).clone()); } diff --git a/Tests/Unit/Device/IOReaderWriterTest.cpp b/Tests/Unit/Device/IOReaderWriterTest.cpp index 5ec6931efea1073d8fe3862e320784173f378f81..357dae82154a57be9e16f23b6383148fc60eab03 100644 --- a/Tests/Unit/Device/IOReaderWriterTest.cpp +++ b/Tests/Unit/Device/IOReaderWriterTest.cpp @@ -21,10 +21,9 @@ protected: TEST_F(IOReaderWriterTest, TestRWINT) { std::stringstream ss; - ReadWriteINT write_int; - write_int.writeDatafield(m_model_data, ss); - ReadWriteINT read_int; - auto result = std::unique_ptr<Datafield>(read_int.readDatafield(ss)); + IO::writeBAInt(m_model_data, ss); + + auto result = std::unique_ptr<Datafield>(IO::readBAInt(ss)); auto compare_axis = [this, &result](size_t index) { EXPECT_EQ(m_model_data.axis(index).size(), result->axis(index).size());