Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

Référence de la classe Modelib::FichierLP

#include <FichierLP.h>

Graphe d'héritage de la classe Modelib::FichierLP

Inheritance graph
[Légende]
Diagramme de collaboration de Modelib::FichierLP:

Collaboration graph
[Légende]
Liste de tous les membres

Membres publics

 FichierLP ()
bool Open (const std::string &)
 Ouverture et lecture.

 ~FichierLP ()
 Destructeur.


Membres protégés

bool IsComment (std::string &)
std::string trim (const std::string &) const
std::string AvoidSpaces (const std::string &) const
bool IsNumber (const std::string &) const
void GetNumVar (const std::string &, std::string &, std::string &)
void ParseObjective (const std::string &)
void ParseSubjects (const std::string &, const std::string &)
void ParseBounds (const std::string &)
void ParseGenerals (const std::string &)
void ParseBinaries (const std::string &)
void Tokenize (const std::string &,std::list< std::string > &,std::list< std::string > &)

Description détaillée

FichierLP est une spécification d'un fichier contenant un probleme. Cette classe permet de charger des fichiers de type LP et hérite donc de FichierProbleme.

Définition à la ligne 46 du fichier FichierLP.h.


Documentation des contructeurs et destructeurs

Modelib::FichierLP::FichierLP  ) 
 

Constructeur par defaut (et unique constructeur) On ne devrait pas avoir besoin de constructeur par copie car cette classe n'a d'instances que temporaires !

Définition à la ligne 209 du fichier FichierLP.cpp.

Références Modelib::BINARIES, Modelib::BOUNDS, Modelib::END, Modelib::FREE, Modelib::GENERALS, Modelib::MAXIMIZE, Modelib::MINIMIZE, et Modelib::SUBJECT.

Modelib::FichierLP::~FichierLP  )  [inline]
 

Destructeur.

Définition à la ligne 76 du fichier FichierLP.h.


Documentation des méthodes

string Modelib::FichierLP::AvoidSpaces const std::string &  s  )  const [protected]
 

Eliminer tous les espaces, on concatenne tous les mots

Paramètres:
s le string a modifier
Renvoie:
string = le string sans aucuns espaces

Définition à la ligne 294 du fichier FichierLP.cpp.

Référencé par Open().

void Modelib::FichierLP::GetNumVar const std::string &  str,
std::string &  num,
std::string &  var
[protected]
 

Extraire le nombre en facteur et la variable d'un monôme

Paramètres:
str le string à décomposer
num contiendra le nombre mis en facteur
var contiendra la variable

Définition à la ligne 394 du fichier FichierLP.cpp.

Références IsNumber().

Référencé par ParseObjective(), et ParseSubjects().

Voici le graphique d'appel pour cette fonction:

bool Modelib::FichierLP::IsComment std::string &  s  )  [protected]
 

Est-ce que le string s est un commentaire ?

Paramètres:
s Le string sera modifié s"il contient un commentaire, celui-ci sera effacé
Renvoie:
bool = vrai si c'est une ligne complète de commentaire

Définition à la ligne 251 du fichier FichierLP.cpp.

Référencé par Open().

bool Modelib::FichierLP::IsNumber const std::string &  s  )  const [protected]
 

Teste si le string est un nombre valide pour le programme. Les nombres valides sont des nombres entiers, fractionnaires ou flottants

Paramètres:
s le nombre a tester
Renvoie:
bool = vrai si c'est un nombre valide

Définition à la ligne 309 du fichier FichierLP.cpp.

Référencé par GetNumVar(), et ParseBounds().

bool Modelib::FichierLP::Open const std::string &  nomFile  )  [virtual]
 

Ouverture et lecture.

Ouvrir le fichier LP

Paramètres:
nom le nom du fichier à ouvrir
Renvoie:
bool = vrai si kle fichier a été traité

Implémente Modelib::FichierProbleme.

Définition à la ligne 787 du fichier FichierLP.cpp.

Références AvoidSpaces(), Modelib::BINARIES, Modelib::BOUNDS, Modelib::END, Modelib::GENERALS, IsComment(), Modelib::MAXIMIZE, Modelib::MINIMIZE, ParseBinaries(), ParseBounds(), ParseGenerals(), ParseObjective(), ParseSubjects(), Modelib::SUBJECT, et trim().

Référencé par Modelib::Model::LoadLP().

Voici le graphique d'appel pour cette fonction:

void Modelib::FichierLP::ParseBinaries const std::string &  s  )  [protected]
 

Parser le champ Binaries

Paramètres:
s le string à anaylser

Définition à la ligne 746 du fichier FichierLP.cpp.

Référencé par Open().

void Modelib::FichierLP::ParseBounds const std::string &  s  )  [protected]
 

Parser l'encadrement des contraintes. Elle sont de plusieurs types: b <= bsup binf <= b <= bsup binf <= b

Paramètres:
s le string à anaylser

Définition à la ligne 585 du fichier FichierLP.cpp.

Références Modelib::GetNbComparator(), IsNumber(), et Modelib::LOWER_THAN.

Référencé par Open().

Voici le graphique d'appel pour cette fonction:

void Modelib::FichierLP::ParseGenerals const std::string &  s  )  [protected]
 

Parser le champ Generals

Paramètres:
s le string à anaylser

Définition à la ligne 707 du fichier FichierLP.cpp.

Référencé par Open().

void Modelib::FichierLP::ParseObjective const std::string &  s  )  [protected]
 

Parser l'expression de la fonction objectif !

Paramètres:
s le string à anaylser

Définition à la ligne 423 du fichier FichierLP.cpp.

Références GetNumVar(), Modelib::MINUS, Modelib::PLUS, et Tokenize().

Référencé par Open().

Voici le graphique d'appel pour cette fonction:

void Modelib::FichierLP::ParseSubjects const std::string &  s,
const std::string &  nom
[protected]
 

Parser une expression d'une contrainte

Paramètres:
s le string à anaylser
nom le nom de la contrainte s'il existe

Définition à la ligne 470 du fichier FichierLP.cpp.

Références GetNumVar(), Modelib::MINUS, Modelib::PLUS, et Tokenize().

Référencé par Open().

Voici le graphique d'appel pour cette fonction:

void Modelib::FichierLP::Tokenize const std::string &  str,
std::list< std::string > &  tokens_plus,
std::list< std::string > &  tokens_minus
[protected]
 

Sépare une expression a-b-c+d en deux listes {a,d} et {b,c}

Paramètres:
str le string à décomposer
tokens_plus stockages des monomes commençants par un '+'
tokens_minus stockages des monomes commençants par un '-'

Définition à la ligne 343 du fichier FichierLP.cpp.

Références Modelib::MINUS, et Modelib::PLUS.

Référencé par ParseObjective(), et ParseSubjects().

string Modelib::FichierLP::trim const std::string &  s  )  const [protected]
 

Eliminer les espaces des bords

Paramètres:
s le string a modifier
Renvoie:
string = le string sans espaces sur les cotés

Définition à la ligne 279 du fichier FichierLP.cpp.

Référencé par Open().


La documentation associée à cette classe a été générée à partir des fichiers suivants :
Généré le Sun Oct 2 18:53:03 2005 pour Modelib par doxygen 1.3.6