/// <summary> /// Loads a SAS+ mutexes section. /// </summary> private void LoadMutexGroups() { int mutexGroupsCount = ParseAndCheckNumber(GetNextLine()); for (int i = 0; i < mutexGroupsCount; ++i) { CheckExpected(GetNextLine(), "begin_mutex_group"); MutexGroup mutexGroup = new MutexGroup(); int mutexGroupSize = ParseAndCheckNumber(GetNextLine()); for (int j = 0; j < mutexGroupSize; ++j) { var numberPair = ParseAndCheckNumberPair(GetNextLine()); mutexGroup.Add(new Assignment(numberPair.Item1, numberPair.Item2)); } if (mutexGroup.Count > 0) { Problem.MutexGroups.Add(mutexGroup); } CheckExpected(GetNextLine(), "end_mutex_group"); } }