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>

List of all members.

Public Member Functions

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

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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines