All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Member Functions
LgfContents Class Reference

Detailed Description

This class can be used to read the sections, the map names and the attributes from a file. Usually, the LEMON programs know that, which type of graph, which maps and which attributes should be read from a file, but in general tools (like glemon) the contents of an LGF file should be guessed somehow. This class reads the graph and stores the appropriate information for reading the graph.

* LgfContents contents("graph.lgf");
* contents.run();
*
* // Does it contain any node section and arc section?
* if (contents.nodeSectionNum() == 0 || contents.arcSectionNum()) {
* std::cerr << "Failure, cannot find graph." << std::endl;
* return -1;
* }
* std::cout << "The name of the default node section: "
* << contents.nodeSection(0) << std::endl;
* std::cout << "The number of the arc maps: "
* << contents.arcMaps(0).size() << std::endl;
* std::cout << "The name of second arc map: "
* << contents.arcMaps(0)[1] << std::endl;
*

#include <lemon/lgf_reader.h>

Public Member Functions

 LgfContents (std::istream &is)
 Constructor. More...
 
 LgfContents (const std::string &fn)
 Constructor. More...
 
 LgfContents (const char *fn)
 Constructor. More...
 
 ~LgfContents ()
 Destructor.
 
Node Sections
int nodeSectionNum () const
 Gives back the number of node sections in the file. More...
 
const std::string & nodeSection (int i) const
 Returns the node section name at the given position. More...
 
const std::vector< std::string > & nodeMapNames (int i) const
 Gives back the node maps for the given section. More...
 
Arc/Edge Sections
int arcSectionNum () const
 Gives back the number of arc/edge sections in the file. More...
 
const std::string & arcSection (int i) const
 Returns the arc/edge section name at the given position. More...
 
const std::vector< std::string > & arcMapNames (int i) const
 Gives back the arc/edge maps for the given section. More...
 
Synonyms
int edgeSectionNum () const
 Gives back the number of arc/edge sections in the file. More...
 
const std::string & edgeSection (int i) const
 Returns the section name at the given position. More...
 
const std::vector< std::string > & edgeMapNames (int i) const
 Gives back the edge maps for the given section. More...
 
Attribute Sections
int attributeSectionNum () const
 Gives back the number of attribute sections in the file. More...
 
const std::string & attributeSectionNames (int i) const
 Returns the attribute section name at the given position. More...
 
const std::vector< std::string > & attributes (int i) const
 Gives back the attributes for the given section. More...
 
Extra Sections
int extraSectionNum () const
 Gives back the number of extra sections in the file. More...
 
const std::string & extraSection (int i) const
 Returns the extra section type at the given position. More...
 
Execution of the Contents Reader
void run ()
 Starts the reading. More...
 

Constructor & Destructor Documentation

LgfContents ( std::istream &  is)
inline

Construct an LGF contents reader, which reads from the given input stream.

LgfContents ( const std::string &  fn)
inline

Construct an LGF contents reader, which reads from the given file.

LgfContents ( const char *  fn)
inline

Construct an LGF contents reader, which reads from the given file.

Member Function Documentation

int nodeSectionNum ( ) const
inline

Gives back the number of node sections in the file.

const std::string& nodeSection ( int  i) const
inline

Returns the node section name at the given position.

const std::vector<std::string>& nodeMapNames ( int  i) const
inline

Gives back the node maps for the given section.

int arcSectionNum ( ) const
inline

Gives back the number of arc/edge sections in the file.

Note
It is synonym of edgeSectionNum().
const std::string& arcSection ( int  i) const
inline

Returns the arc/edge section name at the given position.

Note
It is synonym of edgeSection().
const std::vector<std::string>& arcMapNames ( int  i) const
inline

Gives back the arc/edge maps for the given section.

Note
It is synonym of edgeMapNames().
int edgeSectionNum ( ) const
inline

Gives back the number of arc/edge sections in the file.

Note
It is synonym of arcSectionNum().
const std::string& edgeSection ( int  i) const
inline

Returns the section name at the given position.

Note
It is synonym of arcSection().
const std::vector<std::string>& edgeMapNames ( int  i) const
inline

Gives back the edge maps for the given section.

Note
It is synonym of arcMapNames().
int attributeSectionNum ( ) const
inline

Gives back the number of attribute sections in the file.

const std::string& attributeSectionNames ( int  i) const
inline

Returns the attribute section name at the given position.

const std::vector<std::string>& attributes ( int  i) const
inline

Gives back the attributes for the given section.

int extraSectionNum ( ) const
inline

Gives back the number of extra sections in the file.

const std::string& extraSection ( int  i) const
inline

Returns the section type at the given position.

void run ( )
inline

This function starts the reading.