Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/std/util/pl_iterator.c b/std/util/pl_iterator.c
new file mode 100644
index 0000000..555a75e
--- /dev/null
+++ b/std/util/pl_iterator.c
@@ -0,0 +1,53 @@
+// MorgenGrauen MUDlib
+/** \file /file.c
+* Kurzbeschreibung.
+* Langbeschreibung...
+* \author <Autor>
+* \date <date>
+* \version $Id$
+*/
+/* Changelog:
+*/
+#pragma strong_types, save_types, rtt_checks
+#pragma no_clone, no_shadow
+#pragma pedantic, range_check
+#pragma warn_deprecated
+
+private void check_all_player(mapping allplayer, closure check_cl,
+ closure finish_cl, int res,
+ varargs mixed extra)
+{
+ // offenbar fertig mit allen Spielern, Aufrufer informieren.
+ if (!sizeof(allplayer))
+ {
+ funcall(finish_cl, extra...);
+ return;
+ }
+
+ string dir=m_indices(allplayer)[0];
+ string *pls=allplayer[dir];
+ foreach(string pl: &pls)
+ {
+ if (get_eval_cost() < res)
+ break; // spaeter weitermachen
+ catch(funcall(check_cl, pl, extra...) ; publish);
+ pl = 0;
+ }
+ pls-=({0});
+ allplayer[dir] = pls;
+
+ if (!sizeof(allplayer[dir]))
+ m_delete(allplayer,dir);
+
+ call_out(#'check_all_player,2, allplayer, check_cl, finish_cl, res, extra...);
+}
+
+protected int start_player_check(closure check_cl, closure finish_cl, int res,
+ varargs mixed extra)
+{
+ res ||= 1250000;
+ mapping allplayer=(mapping)master()->get_all_players();
+ call_out(#'check_all_player,2, allplayer, check_cl, finish_cl, res, extra...);
+ return 1;
+}
+