Modelib: FichierProbleme class Reference

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

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 :

- FichierProbleme.h
- FichierProbleme.cpp