Currently the documentation (from bond.cpp) for bond orders says:
"The bond order (i.e., 1 = single, 2 = double... 5 = aromatic)"
The numbers "1", "2", ... "5" should be defined as constants:
...
Also the documentation does not specify clearly the connection between order=5 and flag=OB_AROMATIC_BOND... That leads to misuse of the API, e.g.:
Incorrect: mol.AddBond(atomX, atomY, 1, OB_AROMATIC_BOND); // will not mark atoms as aromatic
Correct: mol.AddBond(atomX, atomY, 5); // why 5???
Suggestion:
Define additional function AddAromaticBond() with same arguments as AddBond() and eliminate order=5.