Самый простой способ сделать это - отслеживать количество объектов в вашей системе и проверять это число на 0 на каждой итерации.
Возможный подход в ОО-языке мог бы состоять в том, чтобы вывести все ваши сущности из общего класса предков. Он должен содержать статическую переменную, которая увеличивается в конструкторе и уменьшается в деструкторе объекта.