Changes in / [178:d2bac07f1742:183:0c6556a8e105] in lemon-1.0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/lgf_reader.h
r174 r182 2071 2071 /// \ingroup lemon_io 2072 2072 /// 2073 /// \brief Reader for the content of the \ref lgf-format "LGF" file2073 /// \brief Reader for the contents of the \ref lgf-format "LGF" file 2074 2074 /// 2075 2075 /// This class can be used to read the sections, the map names and … … 2077 2077 /// that, which type of graph, which maps and which attributes 2078 2078 /// should be read from a file, but in general tools (like glemon) 2079 /// the content of an LGF file should be guessed somehow. This class2079 /// the contents of an LGF file should be guessed somehow. This class 2080 2080 /// reads the graph and stores the appropriate information for 2081 2081 /// reading the graph. 2082 2082 /// 2083 ///\code LgfContent content("graph.lgf");2084 /// content .run();2083 ///\code LgfContents contents("graph.lgf"); 2084 /// contents.run(); 2085 2085 /// 2086 2086 /// // does it contain any node section and arc section 2087 /// if (content .nodeSectionNum() == 0 || content.arcSectionNum()) {2087 /// if (contents.nodeSectionNum() == 0 || contents.arcSectionNum()) { 2088 2088 /// std::cerr << "Failure, cannot find graph" << std::endl; 2089 2089 /// return -1; 2090 2090 /// } 2091 2091 /// std::cout << "The name of the default node section : " 2092 /// << content .nodeSection(0) << std::endl;2092 /// << contents.nodeSection(0) << std::endl; 2093 2093 /// std::cout << "The number of the arc maps : " 2094 /// << content .arcMaps(0).size() << std::endl;2094 /// << contents.arcMaps(0).size() << std::endl; 2095 2095 /// std::cout << "The name of second arc map : " 2096 /// << content .arcMaps(0)[1] << std::endl;2096 /// << contents.arcMaps(0)[1] << std::endl; 2097 2097 ///\endcode 2098 class LgfContent {2098 class LgfContents { 2099 2099 private: 2100 2100 … … 2122 2122 /// \brief Constructor 2123 2123 /// 2124 /// Construct an \e LGF content reader, which reads from the given2124 /// Construct an \e LGF contents reader, which reads from the given 2125 2125 /// input stream. 2126 LgfContent (std::istream& is)2126 LgfContents(std::istream& is) 2127 2127 : _is(&is), local_is(false) {} 2128 2128 2129 2129 /// \brief Constructor 2130 2130 /// 2131 /// Construct an \e LGF content reader, which reads from the given2131 /// Construct an \e LGF contents reader, which reads from the given 2132 2132 /// file. 2133 LgfContent (const std::string& fn)2133 LgfContents(const std::string& fn) 2134 2134 : _is(new std::ifstream(fn.c_str())), local_is(true) {} 2135 2135 2136 2136 /// \brief Constructor 2137 2137 /// 2138 /// Construct an \e LGF content reader, which reads from the given2138 /// Construct an \e LGF contents reader, which reads from the given 2139 2139 /// file. 2140 LgfContent (const char* fn)2140 LgfContents(const char* fn) 2141 2141 : _is(new std::ifstream(fn)), local_is(true) {} 2142 2142 … … 2145 2145 /// The copy constructor transfers all data from the other reader, 2146 2146 /// therefore the copied reader will not be usable more. 2147 LgfContent (LgfContent& other)2147 LgfContents(LgfContents& other) 2148 2148 : _is(other._is), local_is(other.local_is) { 2149 2149 … … 2164 2164 2165 2165 /// \brief Destructor 2166 ~LgfContent () {2166 ~LgfContents() { 2167 2167 if (local_is) delete _is; 2168 2168 } … … 2189 2189 /// 2190 2190 /// Gives back the node maps for the given section. 2191 const std::vector<std::string>& nodeMap s(int i) const {2191 const std::vector<std::string>& nodeMapNames(int i) const { 2192 2192 return _node_maps[i]; 2193 2193 } … … 2195 2195 /// @} 2196 2196 2197 /// \name Arc sections2197 /// \name Arc/Edge sections 2198 2198 /// @{ 2199 2199 2200 /// \brief Gives back the number of arc sections in the file.2201 /// 2202 /// Gives back the number of arc sections in the file.2203 /// \note It is synon im of \c edgeSectionNum().2200 /// \brief Gives back the number of arc/edge sections in the file. 2201 /// 2202 /// Gives back the number of arc/edge sections in the file. 2203 /// \note It is synonym of \c edgeSectionNum(). 2204 2204 int arcSectionNum() const { 2205 2205 return _edge_sections.size(); … … 2209 2209 /// 2210 2210 /// Returns the section name at the given position. 2211 /// \note It is synon im of \c edgeSection().2211 /// \note It is synonym of \c edgeSection(). 2212 2212 const std::string& arcSection(int i) const { 2213 2213 return _edge_sections[i]; 2214 2214 } 2215 2215 2216 /// \brief Gives back the arc maps for the given section.2217 /// 2218 /// Gives back the arc maps for the given section.2219 /// \note It is synon im of \c edgeMaps().2220 const std::vector<std::string>& arcMap s(int i) const {2216 /// \brief Gives back the arc/edge maps for the given section. 2217 /// 2218 /// Gives back the arc/edge maps for the given section. 2219 /// \note It is synonym of \c edgeMapNames(). 2220 const std::vector<std::string>& arcMapNames(int i) const { 2221 2221 return _edge_maps[i]; 2222 2222 } 2223 2223 2224 /// \brief Returns true when the section type is \c "@arcs".2225 ///2226 /// Returns true when the section type is \c "@arcs", and not "@edges".2227 bool isArcSection(int i) const {2228 return _arc_sections[i];2229 }2230 2231 2224 /// @} 2232 2225 2233 /// \name Edge sections2226 /// \name Synonyms 2234 2227 /// @{ 2235 2228 2236 /// \brief Gives back the number of edge sections in the file. 2237 /// 2238 /// Gives back the number of edge sections in the file. 2229 /// \brief Gives back the number of arc/edge sections in the file. 2230 /// 2231 /// Gives back the number of arc/edge sections in the file. 2232 /// \note It is synonym of \c arcSectionNum(). 2239 2233 int edgeSectionNum() const { 2240 2234 return _edge_sections.size(); … … 2244 2238 /// 2245 2239 /// Returns the section name at the given position. 2240 /// \note It is synonym of \c arcSection(). 2246 2241 const std::string& edgeSection(int i) const { 2247 2242 return _edge_sections[i]; … … 2251 2246 /// 2252 2247 /// Gives back the edge maps for the given section. 2253 const std::vector<std::string>& edgeMaps(int i) const { 2248 /// \note It is synonym of \c arcMapNames(). 2249 const std::vector<std::string>& edgeMapNames(int i) const { 2254 2250 return _edge_maps[i]; 2255 }2256 2257 /// \brief Returns true when the section type is \c "@edges".2258 ///2259 /// Returns true when the section type is \c "@edges", and not "@arcs".2260 bool isEdgeSection(int i) const {2261 return !_arc_sections[i];2262 2251 } 2263 2252 … … 2277 2266 /// 2278 2267 /// Returns the section name at the given position. 2279 const std::string& attributeSection (int i) const {2268 const std::string& attributeSectionNames(int i) const { 2280 2269 return _attribute_sections[i]; 2281 2270 } … … 2360 2349 public: 2361 2350 2362 /// \name Execution of the content reader2351 /// \name Execution of the contents reader 2363 2352 /// @{ 2364 2353
Note: See TracChangeset
for help on using the changeset viewer.