Modelib: ConstraintBuilder class Reference

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

# Référence de la classe ConstraintBuilder

Classe servant à les Contraintes lineaire et les bornes. Plus de détails...

`#include <ConstraintBuilder.h>`

Liste de tous les membres

## Types Publics
enum | Operateur { EGAL = 0, DIFFERENT, INFERIEUR, SUPERIEUR, INFSTRICT, SUPSTRICT }
## Membres publics
| ConstraintBuilder ()
| ConstraintBuilder (const Expr &, ConstraintBuilder::Operateur, const Expr &)
| ConstraintBuilder (const ConstraintBuilder &c)
ConstraintBuilder & | operator= (const ConstraintBuilder &_c)
bool | IsBound () const
ConstraintBuilder & | operator== (const ConstraintBuilder &)
ConstraintBuilder & | operator!= (const ConstraintBuilder &)
ConstraintBuilder & | operator<= (const ConstraintBuilder &)
ConstraintBuilder & | operator>= (const ConstraintBuilder &)
ConstraintBuilder & | operator< (const ConstraintBuilder &)
ConstraintBuilder & | operator> (const ConstraintBuilder &)
ConstraintBuilder & | operator== (const Expr &)
ConstraintBuilder & | operator!= (const Expr &)
ConstraintBuilder & | operator<= (const Expr &)
ConstraintBuilder & | operator>= (const Expr &)
ConstraintBuilder & | operator< (const Expr &)
ConstraintBuilder & | operator> (const Expr &)
## Membres protégés
bool | CheckIfIsBound ()
void | Add (Operateur, const std::list< Expr > &, const std::list< Operateur > &)
## Attributs Protégés
std::list< Expr > | expressions
| liste d'expressions
std::list< Operateur > | operateurs
| liste d'operateurs
bool | isBound
| booléen permettant de savoir si l'expressions est une borne
## Amis (friends)
class | Model
std::ostream & | operator<< (std::ostream &flux, const ConstraintBuilder &c)

## Description détaillée

Classe servant à les Contraintes lineaire et les bornes.

Elle est constitué:

- d'une liste d'expressions linéaire
- d'une liste d'operateurs parmi l'énumeration Operateur
- d'un booléen permettant de savoir si la contrainte est une borne Elle peut representer des contraintes enchainée: 0<=3x+4<=7u+3y<4y-5x<18 Elle est construite soit à partir de deux expressions, de deux constraintes ou d'une contraintes et d'une expression Elle est directement exploitables par la classe Model par le biais de la déclaration en friend de Model. Les raisons sont les même que pour la classe Expr, à savoir que ConstraintBuilder n'a volontairement pas de geters, de seters ou d'iterateurs sur les listes d'Expr ou d'Operateurs qui sont privées.

## Documentation des énumérations imbriquées

enum ConstraintBuilder::Operateur

| Opérateurs de comparaison

## Documentation des contructeurs et destructeurs

ConstraintBuilder::ConstraintBuilder | ( |  | ) | `[inline]`

| Constructeur par défaut

ConstraintBuilder::ConstraintBuilder | ( | const Expr & | e1,
|  | ConstraintBuilder::Operateur | op,
|  | const Expr & | e2
| ) |

  | Constructeurs d'une nouvelle contraintes a partir de deux expressions et d'un Operateur Paramètres:
  e1 | l'expression de gauche
  op | l'opérateur de comparaison
  e2 | l'expression de droite

ConstraintBuilder::ConstraintBuilder | ( | const ConstraintBuilder & | c | ) | `[inline]`

| Constructeur par recopie

## Documentation des méthodes

void ConstraintBuilder::Add | ( | ConstraintBuilder::Operateur | op,
|  | const std::list< Expr > & | exps,
|  | const std::list< Operateur > & | ops
| ) | `[protected]`

  | Concatene deux constraintes en ajoutant aux listes d'une contraintes les liste d'expressions et d'Operateurs de l'autre afin de les concaténer Paramètres:
  op | le nouvel opérateur de comparaison
  exps | une liste d'expressions provenant d'une autre contrainte
  ops | une liste d'opérateurs provenant d'une autre contrainte

bool ConstraintBuilder::CheckIfIsBound | ( |  | ) | `[protected]`

| Vérifie si la contrainte est de type Bounds Les contraintes de type bornes sont de la forme value<=variable, value<variable value>=variable, value>variable value<=variable<=value, value<=variable<value, value<variable<=value, value<variable<value value>=variable>=value, value>=variable>value, value>variable>=value, value>variable>value Renvoie: vrai si la contrainte correspond au cas précédent

bool ConstraintBuilder::IsBound | ( |  | ) | const`[inline]`

| Permet de savoir si la contrainte est une borne

ConstraintBuilder & ConstraintBuilder::operator!= | ( | const Expr & | e | ) |

  | Add une partie du type "!= Expression" à une contrainte Paramètres:
  e | l'expression à ajouter
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator!= | ( | const ConstraintBuilder & | c | ) |

  | Operateur != exploitant la fonction ConstraintBuilder::Add Paramètres:
  c | contrainte à concatener
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator< | ( | const Expr & | e | ) |

  | Add une partie du type "< Expression" à une contrainte Paramètres:
  e | l'expression à ajouter
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator< | ( | const ConstraintBuilder & | c | ) |

  | Operateur < exploitant la fonction ConstraintBuilder::Add Paramètres:
  c | contrainte à concatener
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator<= | ( | const Expr & | e | ) |

  | Add une partie du type "<= Expression" à une contrainte Paramètres:
  e | l'expression à ajouter
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator<= | ( | const ConstraintBuilder & | c | ) |

  | Operateur <= exploitant la fonction ConstraintBuilder::Add Paramètres:
  c | contrainte à concatener
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder& ConstraintBuilder::operator= | ( | const ConstraintBuilder & | _c | ) | `[inline]`

| Opérateur de copie

ConstraintBuilder & ConstraintBuilder::operator== | ( | const Expr & | e | ) |

  | Add une partie du type "== Expression" à une contrainte Paramètres:
  e | l'expression à ajouter
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator== | ( | const ConstraintBuilder & | c | ) |

  | Operateur == exploitant la fonction ConstraintBuilder::Add Paramètres:
  c | contrainte à concatener
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator> | ( | const Expr & | e | ) |

  | Add une partie du type "> Expression" à une contrainte Paramètres:
  e | l'expression à ajouter
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator> | ( | const ConstraintBuilder & | c | ) |

  | Operateur > exploitant la fonction ConstraintBuilder::Add Paramètres:
  c | contrainte à concatener
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator>= | ( | const Expr & | e | ) |

  | Add une partie du type ">= Expression" à une contrainte Paramètres:
  e | l'expression à ajouter
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

ConstraintBuilder & ConstraintBuilder::operator>= | ( | const ConstraintBuilder & | c | ) |

  | Operateur >= exploitant la fonction ConstraintBuilder::Add Paramètres:
  c | contrainte à concatener
Renvoie: une référence sur la contrainte pour pouvoir enchaîner

## Documentation des fonctions amies et associées

std::ostream& operator<< | ( | std::ostream & | flux,
|  | const ConstraintBuilder & | c
| ) | `[friend]`

  | Operateur de surcharge de flux << Paramètres:
  flux | flux à surcharger
  c | la contrainte à afficher
Renvoie: Le flux surchargé

La documentation associée à cette classe a été générée à partir des fichiers suivants :

- ConstraintBuilder.h
- ConstraintBuilder.cpp