26 #include <glibmm/threads.h>
33 template<
class T>
void
43 for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
48 template<
class T>
void
58 for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
63 template<
class T,
class A>
void
73 for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
74 (obj->*func) (**i, arg1);
79 template<
class A>
void
84 for (
auto const& i : *r) {
85 std::shared_ptr<Track> tr = std::dynamic_pointer_cast<Track> (i);
87 (tr.get()->*method) (arg);
92 template<
class A1,
class A2>
void
97 for (
auto const& i : *r) {
98 std::shared_ptr<Track> tr = std::dynamic_pointer_cast<Track> (i);
100 (tr.get()->*method) (arg1, arg2);
105 template<
class A>
void
109 for (
auto const& i : *r) {
110 (i.get()->*method) (arg);
114 template<
class A1,
class A2>
void
119 for (
auto const& i : *r) {
120 (i.get()->*method) (arg1, arg2);
void foreach_route(T *obj, void(T::*func)(Route &), bool sort=true)
void foreach_track(void(Track::*method)(A), A arg)
SerializedRCUManager< RouteList > routes
std::shared_ptr< T const > reader() const
std::list< std::shared_ptr< Route > > RouteList