- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

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

## 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.