#include "Bag.hpp"
#include<iostream>



void f(const container::Bag<int> &b, const int & i){
  std::cout<<"f("<<i<<")"<<b.find(i)<<std::endl;
}

container::Bag<char> d(const container::Bag<int> &a, const container::Bag<int> &b){
  return a+b;
}

int main(void)
{
  container::Bag<char> b;
  container::Bag<char> c;
  const container::Bag<char> &constB = b;
  const container::Bag<char> &constC = c;
  f(b,1); // f(1)0
  b.add('a',5); // f(97)5
  b.add('c',1); // f(97)9
  b.add('d',2);
  f(b,'a');
  c.add('a',4);
  f(constB+constC,'a');
  f(constB-constC,'a');
  f(b+c,'a');
  f(b-c,'a');
  std::cout<<(b*5).find('d')<<std::endl; // Affiche 10
  std::cout<<d(constB,c).find('d')<<std::endl; // Affiche 2
  std::cout<<d(constB,c)<<std::endl; // Affiche (a:9)(c:1)(d:2)

}
