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::FichierProbleme

#include <FichierProbleme.h>

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

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

Membres publics

virtual bool Open (const std::string &nom)=0
 Ouvrir un fichier (nom) et le charger.

bool operator>> (Model &m)
virtual ~FichierProbleme ()

Membres protégés

 FichierProbleme ()
 Constructeur par defaut.


Attributs Protégés

std::string nom
bool isMax
std::list< plExprNode * > exprObj
std::list< plGlobalNode * > exprConstraint
std::list< std::string > exprGeneral
std::list< std::string > exprBinary
std::list< plConstraintNode * > exprBounds
std::multimap< std::string,
unsigned > 
mmap
std::map< std::string, unsigned > Comp2Int
 Obtenir les comparateurs.

std::list< std::pair< long,
std::string > > 
commentaires

Amis (friends)

std::ostream & operator<< (std::ostream &, const FichierProbleme &)

Description détaillée

FichierProbleme est une super classe Elle contient tout :]

Ainsi, il est facile d'ajouter des supports de nouveaux types de fichier (je pense notamment au MPS)

Dans tous les cas, la structure devra etre la meme car notre 'Model' est base dessus (structure grandement equivalente)

Définition à la ligne 237 du fichier FichierProbleme.h.


Documentation des contructeurs et destructeurs

Modelib::FichierProbleme::FichierProbleme  )  [inline, protected]
 

Constructeur par defaut.

Définition à la ligne 277 du fichier FichierProbleme.h.

virtual Modelib::FichierProbleme::~FichierProbleme  )  [inline, virtual]
 

Notre destructeur

Définition à la ligne 288 du fichier FichierProbleme.h.

Références exprBounds, exprConstraint, et exprObj.


Documentation des méthodes

virtual bool Modelib::FichierProbleme::Open const std::string &  nom  )  [pure virtual]
 

Ouvrir un fichier (nom) et le charger.

Implémenté dans Modelib::FichierLP, et Modelib::FichierMPS.

bool Modelib::FichierProbleme::operator>> Model m  ) 
 

Opérateur de surcharge de flux permettant de charger un modèle à partir un fichier problème

Paramètres:
m le modèle dans lequel le FichierProbleme doit être chargé
Renvoie:
vrai si il n'y a pas eu de probleme

Définition à la ligne 47 du fichier FichierProbleme.cpp.

Références Modelib::Model::Add(), Modelib::Expr::ASS(), commentaires, exprBinary, exprBounds, exprConstraint, exprGeneral, exprObj, Modelib::Model::GetComment(), Modelib::Model::GetProblemName(), Modelib::Infinity, isMax, Modelib::Model::Maximize(), Modelib::Model::Minimize(), Modelib::Model::SetComment(), et Modelib::Model::SetProblemName().

Voici le graphique d'appel pour cette fonction:


Documentation des fonctions amies et associées

std::ostream& operator<< std::ostream &  o,
const FichierProbleme pblm
[friend]
 

Surchage du flux de sortie, celui là permet de ressortir tout ce qui est stocké sous forme de fichier LP

"" J'aime pas friend mais bon, faut bien le mettre là:

bjarne a dit :

> Does "friend" violate encapsulation ?

No. It does not. "Friend" is an explicit mechanism for granting access, just like membership. You cannot (in a standard conforming program) grant yourself access to a class without modifying its source. ""

Paramètres:
o flux de sortie
FichierProbleme ce que le flux va afficher
Renvoie:
ostream on retourne classiquement le flux "le flux ne peut pas etre stoppé"

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


Documentation des données imbriquées

std::list< std::pair<long,std::string> > Modelib::FichierProbleme::commentaires [protected]
 

Chopper les commentaires

Définition à la ligne 273 du fichier FichierProbleme.h.

Référencé par operator>>().

std::map<std::string,unsigned> Modelib::FichierProbleme::Comp2Int [protected]
 

Obtenir les comparateurs.

Définition à la ligne 269 du fichier FichierProbleme.h.

std::list<std::string> Modelib::FichierProbleme::exprBinary [protected]
 

variables booléenes

Définition à la ligne 257 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<(), et operator>>().

std::list<plConstraintNode *> Modelib::FichierProbleme::exprBounds [protected]
 

Borner les variables

Définition à la ligne 260 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<(), operator>>(), et ~FichierProbleme().

std::list<plGlobalNode *> Modelib::FichierProbleme::exprConstraint [protected]
 

les contraintes sont de la forme "NomContrainte: expression contrainte(<=0...)"

Définition à la ligne 251 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<(), operator>>(), et ~FichierProbleme().

std::list<std::string> Modelib::FichierProbleme::exprGeneral [protected]
 

variables entieres

Définition à la ligne 254 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<(), et operator>>().

std::list<plExprNode *> Modelib::FichierProbleme::exprObj [protected]
 

fonction objectif

Définition à la ligne 248 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<(), operator>>(), et ~FichierProbleme().

bool Modelib::FichierProbleme::isMax [protected]
 

Est-ce que l'on va maximiser ou minimiser l'expression ?

Définition à la ligne 245 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<(), et operator>>().

std::multimap<std::string,unsigned> Modelib::FichierProbleme::mmap [protected]
 

Typiquement, on utilisera ce multimap pour le switch Comme en C++ on ne peut pas switcher sur des strings, on utilise ca pour que ce soit assez rapide.

Définition à la ligne 266 du fichier FichierProbleme.h.

std::string Modelib::FichierProbleme::nom [protected]
 

Des fois, ca pourrait etre sympa que le probleme ait un nom

Définition à la ligne 242 du fichier FichierProbleme.h.

Référencé par Modelib::operator<<().


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:04 2005 pour Modelib par doxygen 1.3.6