lemon/lemon_writer.h
changeset 1909 2d806130e700
parent 1901 723b2b81d900
child 1956 a055123339d5
     1.1 --- a/lemon/lemon_writer.h	Thu Jan 26 06:44:22 2006 +0000
     1.2 +++ b/lemon/lemon_writer.h	Thu Jan 26 15:42:13 2006 +0000
     1.3 @@ -91,7 +91,7 @@
     1.4      template <typename Graph, typename Map>
     1.5      class ForwardComposeMap {
     1.6      public:
     1.7 -      typedef typename Graph::UndirEdge Key;
     1.8 +      typedef typename Graph::UEdge Key;
     1.9        typedef typename Map::Value Value;
    1.10  
    1.11        ForwardComposeMap(const Graph& _graph, const Map& _map) 
    1.12 @@ -115,7 +115,7 @@
    1.13      template <typename Graph, typename Map>
    1.14      class BackwardComposeMap {
    1.15      public:
    1.16 -      typedef typename Graph::UndirEdge Key;
    1.17 +      typedef typename Graph::UEdge Key;
    1.18        typedef typename Map::Value Value;
    1.19  
    1.20        BackwardComposeMap(const Graph& _graph, const Map& _map) 
    1.21 @@ -708,8 +708,8 @@
    1.22    /// \brief SectionWriter for writing a undirected edgeset.
    1.23    ///
    1.24    /// The lemon format can store multiple undirected edgesets with several 
    1.25 -  /// maps. The undirected edgeset section's header line is \c \@undiredgeset 
    1.26 -  /// \c undiredgeset_name, but the \c undiredgeset_name may be empty.
    1.27 +  /// maps. The undirected edgeset section's header line is \c \@uedgeset 
    1.28 +  /// \c uedgeset_name, but the \c uedgeset_name may be empty.
    1.29    ///
    1.30    /// The first line of the section contains the names of the maps separated
    1.31    /// with white spaces. Each next lines describes an undirected edge in the 
    1.32 @@ -734,7 +734,7 @@
    1.33    ///
    1.34    /// \relates LemonWriter
    1.35    template <typename _Graph, typename _Traits = DefaultWriterTraits>
    1.36 -  class UndirEdgeSetWriter : public LemonWriter::SectionWriter {
    1.37 +  class UEdgeSetWriter : public LemonWriter::SectionWriter {
    1.38      typedef LemonWriter::SectionWriter Parent;
    1.39    public:
    1.40  
    1.41 @@ -742,17 +742,17 @@
    1.42      typedef _Traits Traits;
    1.43      typedef typename Graph::Node Node;
    1.44      typedef typename Graph::Edge Edge;
    1.45 -    typedef typename Graph::UndirEdge UndirEdge;
    1.46 +    typedef typename Graph::UEdge UEdge;
    1.47  
    1.48      /// \brief Constructor.
    1.49      ///
    1.50 -    /// Constructor for UndirEdgeSetWriter. It creates the UndirEdgeSetWriter
    1.51 +    /// Constructor for UEdgeSetWriter. It creates the UEdgeSetWriter
    1.52      /// and attach it into the given LemonWriter. It will write node labels by
    1.53      /// the \c _nodeLabelWriter. If the \c _forceLabelMap parameter is true 
    1.54      /// then the writer will write own label map if the user does not give 
    1.55      /// "label" named map.
    1.56      template <typename NodeLabelWriter>
    1.57 -    UndirEdgeSetWriter(LemonWriter& _writer, const Graph& _graph, 
    1.58 +    UEdgeSetWriter(LemonWriter& _writer, const Graph& _graph, 
    1.59  		       const NodeLabelWriter& _nodeLabelWriter, 
    1.60  		       const std::string& _name = std::string(),
    1.61  		       bool _forceLabelMap = true)
    1.62 @@ -765,8 +765,8 @@
    1.63  
    1.64      /// \brief Destructor.
    1.65      ///
    1.66 -    /// Destructor for UndirEdgeSetWriter.
    1.67 -    virtual ~UndirEdgeSetWriter() {
    1.68 +    /// Destructor for UEdgeSetWriter.
    1.69 +    virtual ~UEdgeSetWriter() {
    1.70        typename MapWriters::iterator it;
    1.71        for (it = writers.begin(); it != writers.end(); ++it) {
    1.72  	delete it->second;
    1.73 @@ -774,8 +774,8 @@
    1.74      }
    1.75  
    1.76    private:
    1.77 -    UndirEdgeSetWriter(const UndirEdgeSetWriter&);
    1.78 -    void operator=(const UndirEdgeSetWriter&);
    1.79 +    UEdgeSetWriter(const UEdgeSetWriter&);
    1.80 +    void operator=(const UEdgeSetWriter&);
    1.81  
    1.82    public:
    1.83  
    1.84 @@ -783,8 +783,8 @@
    1.85      ///
    1.86      /// Add a new undirected map writer command for the writer.
    1.87      template <typename Map>
    1.88 -    UndirEdgeSetWriter& writeUndirEdgeMap(std::string name, const Map& map) {
    1.89 -      return writeUndirEdgeMap<typename Traits::
    1.90 +    UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map) {
    1.91 +      return writeUEdgeMap<typename Traits::
    1.92  	template Writer<typename Map::Value>, Map>(name, map);
    1.93      }
    1.94  
    1.95 @@ -792,13 +792,13 @@
    1.96      ///
    1.97      /// Add a new undirected map writer command for the writer.
    1.98      template <typename Writer, typename Map>
    1.99 -    UndirEdgeSetWriter& writeUndirEdgeMap(std::string name, const Map& map, 
   1.100 +    UEdgeSetWriter& writeUEdgeMap(std::string name, const Map& map, 
   1.101  					  const Writer& writer = Writer()) {
   1.102 -      checkConcept<concept::ReadMap<UndirEdge, typename Map::Value>, Map>();
   1.103 +      checkConcept<concept::ReadMap<UEdge, typename Map::Value>, Map>();
   1.104        checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
   1.105        writers.push_back(
   1.106  	make_pair(name, new _writer_bits::
   1.107 -		  MapWriter<UndirEdge, Map, Writer>(map, writer)));
   1.108 +		  MapWriter<UEdge, Map, Writer>(map, writer)));
   1.109        return *this;
   1.110      }
   1.111  
   1.112 @@ -806,7 +806,7 @@
   1.113      ///
   1.114      /// Add a new directed map writer command for the writer.
   1.115      template <typename Map>
   1.116 -    UndirEdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
   1.117 +    UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map) {
   1.118        return writeEdgeMap<typename Traits::
   1.119  	template Writer<typename Map::Value>, Map>(name, map);
   1.120      }
   1.121 @@ -815,13 +815,13 @@
   1.122      ///
   1.123      /// Add a new directed map writer command for the writer.
   1.124      template <typename Writer, typename Map>
   1.125 -    UndirEdgeSetWriter& writeEdgeMap(std::string name, const Map& map, 
   1.126 +    UEdgeSetWriter& writeEdgeMap(std::string name, const Map& map, 
   1.127  				     const Writer& writer = Writer()) {
   1.128        checkConcept<concept::ReadMap<Edge, typename Map::Value>, Map>();
   1.129        checkConcept<_writer_bits::ItemWriter<typename Map::Value>, Writer>();
   1.130 -      writeUndirEdge("+" + name, 
   1.131 +      writeUEdge("+" + name, 
   1.132  		     _writer_bits::forwardComposeMap(graph, map), writer);
   1.133 -      writeUndirEdge("-" + name, 
   1.134 +      writeUEdge("-" + name, 
   1.135  		     _writer_bits::backwardComposeMap(graph, map), writer);
   1.136        return *this;
   1.137      }
   1.138 @@ -832,7 +832,7 @@
   1.139      ///
   1.140      /// It gives back the header of the section.
   1.141      virtual std::string header() {
   1.142 -      return "@undiredgeset " + name;
   1.143 +      return "@uedgeset " + name;
   1.144      }
   1.145  
   1.146      /// \brief  Writer function of the section.
   1.147 @@ -857,7 +857,7 @@
   1.148  	os << writers[i].first << '\t';
   1.149        }
   1.150        os << std::endl;
   1.151 -      for (typename Graph::UndirEdgeIt it(graph); it != INVALID; ++it) {
   1.152 +      for (typename Graph::UEdgeIt it(graph); it != INVALID; ++it) {
   1.153  	nodeLabelWriter->write(os, graph.source(it));
   1.154  	os << '\t';
   1.155  	nodeLabelWriter->write(os, graph.target(it));
   1.156 @@ -891,7 +891,7 @@
   1.157      /// an "label" named map then it will write the map value belongs to the 
   1.158      /// undirected edge. Otherwise if the \c forceLabel parameter was true it 
   1.159      /// will write its id in the graph. 
   1.160 -    void writeLabel(std::ostream& os, const UndirEdge& item) const {
   1.161 +    void writeLabel(std::ostream& os, const UEdge& item) const {
   1.162        if (forceLabelMap) {
   1.163  	os << graph.id(item);
   1.164        } else {
   1.165 @@ -922,10 +922,10 @@
   1.166    private:
   1.167  
   1.168      typedef std::vector<std::pair<std::string, _writer_bits::
   1.169 -				  MapWriterBase<UndirEdge>*> > MapWriters;
   1.170 +				  MapWriterBase<UEdge>*> > MapWriters;
   1.171      MapWriters writers;
   1.172  
   1.173 -    _writer_bits::MapWriterBase<UndirEdge>* labelMap;
   1.174 +    _writer_bits::MapWriterBase<UEdge>* labelMap;
   1.175      bool forceLabelMap;
   1.176     
   1.177      const Graph& graph;   
   1.178 @@ -1099,62 +1099,62 @@
   1.179    /// \ingroup io_group
   1.180    /// \brief SectionWriter for writing named undirected edges.
   1.181    ///
   1.182 -  /// The undirected edges section's header line is \c \@undiredges 
   1.183 -  /// \c undiredges_name, but the \c undiredges_name may be empty.
   1.184 +  /// The undirected edges section's header line is \c \@uedges 
   1.185 +  /// \c uedges_name, but the \c uedges_name may be empty.
   1.186    ///
   1.187    /// Each line in the section contains the name of the undirected edge and 
   1.188    /// then the undirected edge label. 
   1.189    ///
   1.190    /// \relates LemonWriter
   1.191    template <typename _Graph>
   1.192 -  class UndirEdgeWriter : public LemonWriter::SectionWriter {
   1.193 +  class UEdgeWriter : public LemonWriter::SectionWriter {
   1.194      typedef LemonWriter::SectionWriter Parent;
   1.195      typedef _Graph Graph;
   1.196      typedef typename Graph::Node Node;
   1.197      typedef typename Graph::Edge Edge;
   1.198 -    typedef typename Graph::UndirEdge UndirEdge;
   1.199 +    typedef typename Graph::UEdge UEdge;
   1.200    public:
   1.201      
   1.202      /// \brief Constructor.
   1.203      ///
   1.204 -    /// Constructor for UndirEdgeWriter. It creates the UndirEdgeWriter and
   1.205 +    /// Constructor for UEdgeWriter. It creates the UEdgeWriter and
   1.206      /// attach it into the given LemonWriter. The given \c _LabelWriter
   1.207      /// will write the undirected edges' label what can be an undirected 
   1.208      /// edgeset writer.
   1.209      template <typename _LabelWriter>
   1.210 -    UndirEdgeWriter(LemonWriter& _writer, const _LabelWriter& _labelWriter, 
   1.211 +    UEdgeWriter(LemonWriter& _writer, const _LabelWriter& _labelWriter, 
   1.212  	       const std::string& _name = std::string()) 
   1.213        : Parent(_writer), name(_name) {
   1.214        checkConcept<_writer_bits::ItemLabelWriter<Edge>, _LabelWriter>();
   1.215 -      checkConcept<_writer_bits::ItemLabelWriter<UndirEdge>, _LabelWriter>();
   1.216 -      undirEdgeLabelWriter.reset(new _writer_bits::
   1.217 -			      LabelWriter<UndirEdge, _LabelWriter>(_labelWriter));
   1.218 +      checkConcept<_writer_bits::ItemLabelWriter<UEdge>, _LabelWriter>();
   1.219 +      uEdgeLabelWriter.reset(new _writer_bits::
   1.220 +			      LabelWriter<UEdge, _LabelWriter>(_labelWriter));
   1.221        edgeLabelWriter.reset(new _writer_bits::
   1.222  			 LabelWriter<Edge, _LabelWriter>(_labelWriter));
   1.223      }
   1.224  
   1.225      /// \brief Destructor.
   1.226      ///
   1.227 -    /// Destructor for UndirEdgeWriter.
   1.228 -    virtual ~UndirEdgeWriter() {}
   1.229 +    /// Destructor for UEdgeWriter.
   1.230 +    virtual ~UEdgeWriter() {}
   1.231    private:
   1.232 -    UndirEdgeWriter(const UndirEdgeWriter&);
   1.233 -    void operator=(const UndirEdgeWriter&);
   1.234 +    UEdgeWriter(const UEdgeWriter&);
   1.235 +    void operator=(const UEdgeWriter&);
   1.236  
   1.237    public:
   1.238  
   1.239 -    /// \brief Add an edge writer command for the UndirEdgeWriter.
   1.240 +    /// \brief Add an edge writer command for the UEdgeWriter.
   1.241      ///
   1.242 -    /// Add an edge writer command for the UndirEdgeWriter.
   1.243 +    /// Add an edge writer command for the UEdgeWriter.
   1.244      void writeEdge(const std::string& name, const Edge& item) {
   1.245        edgeWriters.push_back(make_pair(name, &item));
   1.246      }
   1.247  
   1.248 -    /// \brief Add an undirected edge writer command for the UndirEdgeWriter.
   1.249 +    /// \brief Add an undirected edge writer command for the UEdgeWriter.
   1.250      ///
   1.251 -    /// Add an undirected edge writer command for the UndirEdgeWriter.
   1.252 -    void writeUndirEdge(const std::string& name, const UndirEdge& item) {
   1.253 -      undirEdgeWriters.push_back(make_pair(name, &item));
   1.254 +    /// Add an undirected edge writer command for the UEdgeWriter.
   1.255 +    void writeUEdge(const std::string& name, const UEdge& item) {
   1.256 +      uEdgeWriters.push_back(make_pair(name, &item));
   1.257      }
   1.258  
   1.259    protected:
   1.260 @@ -1163,7 +1163,7 @@
   1.261      ///
   1.262      /// It gives back the header of the section.
   1.263      virtual std::string header() {
   1.264 -      return "@undiredges " + name;
   1.265 +      return "@uedges " + name;
   1.266      }
   1.267  
   1.268      /// \brief  Writer function of the section.
   1.269 @@ -1173,12 +1173,12 @@
   1.270        if (!edgeLabelWriter->isLabelWriter()) {
   1.271  	throw DataFormatError("Cannot find undirected edgeset or label map");
   1.272        }
   1.273 -      if (!undirEdgeLabelWriter->isLabelWriter()) {
   1.274 +      if (!uEdgeLabelWriter->isLabelWriter()) {
   1.275  	throw DataFormatError("Cannot find undirected edgeset or label map");
   1.276        }
   1.277 -      for (int i = 0; i < (int)undirEdgeWriters.size(); ++i) {
   1.278 -	os << undirEdgeWriters[i].first << ' ';
   1.279 -	undirEdgeLabelWriter->write(os, *(undirEdgeWriters[i].second));
   1.280 +      for (int i = 0; i < (int)uEdgeWriters.size(); ++i) {
   1.281 +	os << uEdgeWriters[i].first << ' ';
   1.282 +	uEdgeLabelWriter->write(os, *(uEdgeWriters[i].second));
   1.283  	os << std::endl;
   1.284        }
   1.285        for (int i = 0; i < (int)edgeWriters.size(); ++i) {
   1.286 @@ -1193,9 +1193,9 @@
   1.287      std::string name;
   1.288  
   1.289      typedef std::vector<std::pair<std::string, 
   1.290 -				  const UndirEdge*> > UndirEdgeWriters;
   1.291 -    UndirEdgeWriters undirEdgeWriters;
   1.292 -    std::auto_ptr<_writer_bits::LabelWriterBase<UndirEdge> > undirEdgeLabelWriter;
   1.293 +				  const UEdge*> > UEdgeWriters;
   1.294 +    UEdgeWriters uEdgeWriters;
   1.295 +    std::auto_ptr<_writer_bits::LabelWriterBase<UEdge> > uEdgeLabelWriter;
   1.296  
   1.297      typedef std::vector<std::pair<std::string, const Edge*> > EdgeWriters;
   1.298      EdgeWriters edgeWriters;