bool KeySig::operator==(const KeySig& k) const { bool ct1 = customType() != 0; bool ct2 = k.customType() != 0; if (ct1 != ct2) return false; if (ct1) { int n = keySymbols.size(); if (n != k.keySymbols.size()) return false; for (int i = 0; i < n; ++i) { if (keySymbols[i].sym != k.keySymbols[i].sym) return false; if (keySymbols[i].spos != k.keySymbols[i].spos) return false; } return true; } return _sig == k._sig; }