Does boost, or any other common C++ library, provide semiring or monoid abstractions (such as a template class)?
I have some algorithms that I would like to express in terms of these abstract structures, but so far I haven't come across anything. I can write my own, but ideally these would be in a library I'm already using such as boost.
Thanks!