#include "Ens32.h"
#include "Err.h"
#include <iostream>
using namespace std;


ostream & Ens32::put(ostream & f){   
	int i;
	int flag;
    i=Next(0);
    f<<"{";
    flag=0;
    while (i!=-1){   
    	if (flag) f<<",";else flag=1;
        f<<i;
        i=Next(i+1);
    }
    f<<"}";
    return f;
}

istream & Ens32::get(istream & f){   
	int i;
	char c;
	b=0;
	
    f.get(c);while (c==' ') f.get(c);
    if (c!='{') Err::MI("get","Il manque le caractère '{'");
  
    c=f.peek(); 
    while (c==' ') {f.get(c); c=f.peek();}
    while (c!='}'){	
    	if (c==','){f.get(c);c=f.peek();while (c==' ') {f.get(c); c=f.peek();}}
    	if (c<'0' || c>'9') Err::MI("get","Un chiffre est attendu");
    	f>>i;
    	if (i>31) Err::MI("get","i>31");
    	if (i<0) Err::MI("get","i<0");
    	Put1(i);
     	c=f.peek(); while (c==' ') {f.get(c); c=f.peek();}
    }
    return f;
}



