lemon/lemon_reader.h
changeset 2068 6936f130bba2
parent 2009 de287863cc98
child 2084 59769591eb60
equal deleted inserted replaced
20:998d71f5ccfd 21:ca97776d3c1b
   734     typedef std::vector<std::pair<SectionReader*, bool> > SectionReaders;
   734     typedef std::vector<std::pair<SectionReader*, bool> > SectionReaders;
   735     SectionReaders readers;
   735     SectionReaders readers;
   736 
   736 
   737   };
   737   };
   738 
   738 
   739   /// \ingroup io_group
   739   /// \ingroup section_io
   740   /// \brief SectionReader for reading a graph's nodeset.
   740   /// \brief SectionReader for reading a graph's nodeset.
   741   ///
   741   ///
   742   /// The lemon format can store multiple graph nodesets with several maps.
   742   /// The lemon format can store multiple graph nodesets with several maps.
   743   /// The nodeset section's header line is \c \@nodeset \c nodeset_name, but the
   743   /// The nodeset section's header line is \c \@nodeset \c nodeset_name, but the
   744   /// \c nodeset_name may be empty.
   744   /// \c nodeset_name may be empty.
   952     _reader_bits::SkipReader<Node, DefaultSkipper> skipper;
   952     _reader_bits::SkipReader<Node, DefaultSkipper> skipper;
   953 
   953 
   954     std::auto_ptr<_reader_bits::MapInverterBase<Node> > inverter;
   954     std::auto_ptr<_reader_bits::MapInverterBase<Node> > inverter;
   955   };
   955   };
   956 
   956 
   957   /// \ingroup io_group
   957   /// \ingroup section_io
   958   /// \brief SectionReader for reading a graph's edgeset.
   958   /// \brief SectionReader for reading a graph's edgeset.
   959   ///
   959   ///
   960   /// The lemon format can store multiple graph edgesets with several maps.
   960   /// The lemon format can store multiple graph edgesets with several maps.
   961   /// The edgeset section's header line is \c \@edgeset \c edgeset_name, but the
   961   /// The edgeset section's header line is \c \@edgeset \c edgeset_name, but the
   962   /// \c edgeset_name may be empty.
   962   /// \c edgeset_name may be empty.
  1190 
  1190 
  1191     std::auto_ptr<_reader_bits::MapInverterBase<Edge> > inverter;
  1191     std::auto_ptr<_reader_bits::MapInverterBase<Edge> > inverter;
  1192     std::auto_ptr<_reader_bits::LabelReaderBase<Node> > nodeLabelReader;
  1192     std::auto_ptr<_reader_bits::LabelReaderBase<Node> > nodeLabelReader;
  1193   };
  1193   };
  1194 
  1194 
  1195   /// \ingroup io_group
  1195   /// \ingroup section_io
  1196   /// \brief SectionReader for reading a undirected graph's edgeset.
  1196   /// \brief SectionReader for reading a undirected graph's edgeset.
  1197   ///
  1197   ///
  1198   /// The lemon format can store multiple undirected edgesets with several 
  1198   /// The lemon format can store multiple undirected edgesets with several 
  1199   /// maps. The undirected edgeset section's header line is \c \@uedgeset 
  1199   /// maps. The undirected edgeset section's header line is \c \@uedgeset 
  1200   /// \c uedgeset_name, but the \c uedgeset_name may be empty.
  1200   /// \c uedgeset_name, but the \c uedgeset_name may be empty.
  1514 
  1514 
  1515     std::auto_ptr<_reader_bits::MapInverterBase<UEdge> > inverter;
  1515     std::auto_ptr<_reader_bits::MapInverterBase<UEdge> > inverter;
  1516     std::auto_ptr<_reader_bits::LabelReaderBase<Node> > nodeLabelReader;
  1516     std::auto_ptr<_reader_bits::LabelReaderBase<Node> > nodeLabelReader;
  1517   };
  1517   };
  1518 
  1518 
  1519   /// \ingroup io_group
  1519   /// \ingroup section_io
  1520   /// \brief SectionReader for reading labeled nodes.
  1520   /// \brief SectionReader for reading labeled nodes.
  1521   ///
  1521   ///
  1522   /// The nodes section's header line is \c \@nodes \c nodes_name, but the
  1522   /// The nodes section's header line is \c \@nodes \c nodes_name, but the
  1523   /// \c nodes_name may be empty.
  1523   /// \c nodes_name may be empty.
  1524   ///
  1524   ///
  1628     typedef std::map<std::string, _reader_bits::ItemStore<Node> > NodeReaders;
  1628     typedef std::map<std::string, _reader_bits::ItemStore<Node> > NodeReaders;
  1629     NodeReaders readers;
  1629     NodeReaders readers;
  1630     std::auto_ptr<_reader_bits::LabelReaderBase<Node> > nodeLabelReader;
  1630     std::auto_ptr<_reader_bits::LabelReaderBase<Node> > nodeLabelReader;
  1631   };
  1631   };
  1632 
  1632 
  1633   /// \ingroup io_group
  1633   /// \ingroup section_io
  1634   /// \brief SectionReader for reading labeled edges.
  1634   /// \brief SectionReader for reading labeled edges.
  1635   ///
  1635   ///
  1636   /// The edges section's header line is \c \@edges \c edges_name, but the
  1636   /// The edges section's header line is \c \@edges \c edges_name, but the
  1637   /// \c edges_name may be empty.
  1637   /// \c edges_name may be empty.
  1638   ///
  1638   ///
  1741     typedef std::map<std::string, _reader_bits::ItemStore<Edge> > EdgeReaders;
  1741     typedef std::map<std::string, _reader_bits::ItemStore<Edge> > EdgeReaders;
  1742     EdgeReaders readers;
  1742     EdgeReaders readers;
  1743     std::auto_ptr<_reader_bits::LabelReaderBase<Edge> > edgeLabelReader;
  1743     std::auto_ptr<_reader_bits::LabelReaderBase<Edge> > edgeLabelReader;
  1744   };
  1744   };
  1745 
  1745 
  1746   /// \ingroup io_group
  1746   /// \ingroup section_io
  1747   /// \brief SectionReader for reading labeled undirected edges.
  1747   /// \brief SectionReader for reading labeled undirected edges.
  1748   ///
  1748   ///
  1749   /// The undirected edges section's header line is \c \@uedges 
  1749   /// The undirected edges section's header line is \c \@uedges 
  1750   /// \c uedges_name, but the \c uedges_name may be empty.
  1750   /// \c uedges_name, but the \c uedges_name may be empty.
  1751   ///
  1751   ///
  1898     typedef std::map<std::string, _reader_bits::ItemStore<Edge> > EdgeReaders;
  1898     typedef std::map<std::string, _reader_bits::ItemStore<Edge> > EdgeReaders;
  1899     EdgeReaders edgeReaders;
  1899     EdgeReaders edgeReaders;
  1900     std::auto_ptr<_reader_bits::LabelReaderBase<Edge> > edgeLabelReader;
  1900     std::auto_ptr<_reader_bits::LabelReaderBase<Edge> > edgeLabelReader;
  1901   };
  1901   };
  1902 
  1902 
  1903   /// \ingroup io_group
  1903   /// \ingroup section_io
  1904   /// \brief SectionReader for attributes.
  1904   /// \brief SectionReader for attributes.
  1905   ///
  1905   ///
  1906   /// The lemon format can store multiple attribute set. Each set has
  1906   /// The lemon format can store multiple attribute set. Each set has
  1907   /// the header line \c \@attributes \c attributeset_name, but the 
  1907   /// the header line \c \@attributes \c attributeset_name, but the 
  1908   /// attributeset_name may be empty.
  1908   /// attributeset_name may be empty.
  2018 
  2018 
  2019     typedef std::map<std::string, _reader_bits::ValueReaderBase*> Readers;
  2019     typedef std::map<std::string, _reader_bits::ValueReaderBase*> Readers;
  2020     Readers readers;  
  2020     Readers readers;  
  2021   };
  2021   };
  2022 
  2022 
  2023   /// \ingroup io_group
  2023   /// \ingroup section_io
  2024   /// \brief SectionReader for retrieve what is in the file.
  2024   /// \brief SectionReader for retrieve what is in the file.
  2025   ///
  2025   ///
  2026   /// SectionReader for retrieve what is in the file. If you want
  2026   /// SectionReader for retrieve what is in the file. If you want
  2027   /// to know which sections, maps and items are in the file
  2027   /// to know which sections, maps and items are in the file
  2028   /// use the next code:
  2028   /// use the next code: