// DatasetSplitter_t.h #ifndef dset__DatasetSplitter_t_H #define dset__DatasetSplitter_t_H // Test class for DatasetSplitter. // Returns N copies of the original dataset. #include "dataset_split/DatasetSplitter.h" class TestDatasetSplitter : public dset::DatasetSplitter { private: // data // Number of copies to return. int m_nsplit; public: // functions // Constructor. // Argument is the numnber of copies to return when splitting. explicit TestDatasetSplitter(int nsplit =1) : m_nsplit(nsplit) { } // Split. dset::DatasetList::size_type split_and_append(const dset::Dataset& dst, dset::DatasetList& subdsts) const { int isplit = 0; while ( isplit < m_nsplit ) { subdsts.push_back(&dst); ++isplit; } return isplit; } // XML. const XmlElement* xml() const { XmlElement* pele = new XmlElement("TestDatasetSplitter"); return pele; } // Output stream. std::ostream& ostr(std::ostream& str) const { str << "TestDatasetSplitter with nsplit = " << m_nsplit; return str; } }; #endif