// NoSplitDatasetSplitter.cxx #include "dataset_split/NoSplitDatasetSplitter.h" #include #include "dataset_util/XmlElement.h" #include "dataset_util/DtdRegistry.h" using std::ostream; using std::auto_ptr; using dset::Dataset; using dset::DatasetList; using dset::DatasetSplitter; using dset::NoSplitDatasetSplitter; //********************************************************************** // Local definitions. //********************************************************************** namespace { // Creator. const DatasetSplitter* create(const XmlElement& ele) { assert( ele.name() == NoSplitDatasetSplitter::xml_name() ); if ( ele.name() != NoSplitDatasetSplitter::xml_name() ) return 0; return new NoSplitDatasetSplitter; } // Register creator. int NoSplitDatasetSplitter_xml_stat = DatasetSplitter::register_creator( NoSplitDatasetSplitter::xml_name(), create); // Register the DTD. DtdRegistry::Status NoSplitDatasetSplitter_dtd_stat = DtdRegistry::register_dtd("dataset"); } // end unnamed namespace. //********************************************************************** // Static member functions //********************************************************************** // DTD const Text& NoSplitDatasetSplitter::dtd() { static Text txt; if ( txt.size() == 0 ) { txt.append(""); } return txt; } //********************************************************************** // Member functions //********************************************************************** // Split. DatasetList::size_type NoSplitDatasetSplitter:: split_and_append(const Dataset& dst, DatasetList& subdsts) const { subdsts.push_back(&dst); return 1; } //********************************************************************** // Write to XML. const XmlElement* NoSplitDatasetSplitter::xml() const { auto_ptr pele(new XmlElement(NoSplitDatasetSplitter::xml_name())); return pele.release(); } //********************************************************************** // Output stream. ostream& NoSplitDatasetSplitter::ostr(std::ostream& str) const { str << "No split dataset splitter"; return str; } //**********************************************************************