I am looking for a C or a C++ library that can do crystal generation, that is, multiply unit cells in one or more directions with symmetry information. (in other words, generate supercells). I have been using OpenBabel (also C++) but it doesn't have this function (it is more oriented to molecules).
If the library can read or write CIF or other similar formats that would be even better.
Can you recommend one?
I know that libraries like this exist in Python, e.g. ASE, but I need to generate them on the fly (e.g from CIF files.)
I am not looking in particular to generate random periodic structures, but it is fine as long as the simpler case I mention above can be performed as well.