Page principale | Hiérarchie des classes | Liste des composants | Liste des fichiers | Composants

Référence de la classe FichierProbleme

#include <FichierProbleme.h>

Graphe d'héritage de la classe FichierProbleme

FichierLP 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)


Documentation des contructeurs et destructeurs

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

Notre destructeur


Documentation des méthodes

bool 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


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é"


Documentation des données imbriquées

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

Chopper les commentaires

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

variables booléenes

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

Borner les variables

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

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

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

variables entieres

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

fonction objectif

bool FichierProbleme::isMax [protected]
 

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

std::multimap<std::string,unsigned> 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.

std::string FichierProbleme::nom [protected]
 

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


La documentation associée à cette classe a été générée à partir des fichiers suivants :
Généré le Mon Jul 18 23:07:41 2005 pour Modelib par doxygen 1.3.6