В библиотеке буста мы используем такие аккумуляторы:
acc(1); // push things into acc
cout << max( acc ) << endl; // get its result
Почему мы не можем определить его интерфейс следующим образом:
acc.push(1);
cout << acc.max() << endl;
Так почему же аккумуляторы из библиотеки boost имеют функциональный интерфейс? В чем его преимущество?