23 template<
typename WorldT>
24 WorldT& default_world_accessor() {
29 template<
typename WorldT>
30 inline void set_default_world(WorldT& world) { detail::default_world_accessor<WorldT>() = world; }
31 template<
typename WorldT>
32 inline void set_default_world(WorldT&& world) { detail::default_world_accessor<WorldT>() = std::move(world); }
34 template <
typename keyT>
37 default_keymap() =
default;
38 default_keymap(
const ttg::World& world) :
ttg::detail::default_keymap_impl<keyT>(world.
size()) {}
41 template <
typename keyT>
44 default_priomap() =
default;
47 template<
typename WorldImplT>
48 std::list<WorldImplT*>&
49 world_registry_accessor() {
50 static std::list<WorldImplT*> world_registry;
51 return world_registry;
55 template<
typename WorldImplT>
58 world_registry_accessor<WorldImplT>().push_back(&world);
61 template<
typename WorldImplT>
63 auto& world_registry = world_registry_accessor<WorldImplT>();
64 auto it = std::find(world_registry.begin(), world_registry.end(), &world);
65 if (it != world_registry.end()) {
66 world_registry.remove(&world);
70 template<
typename WorldImplT>
72 auto& world_registry = world_registry_accessor<WorldImplT>();
73 while (!world_registry.empty()) {
74 auto it = world_registry.begin();
82 if (detail::default_world_accessor<ttg::World>().is_valid()) {
83 return detail::default_world_accessor<ttg::World>();
85 throw std::runtime_error(
"ttg::set_default_world() must be called before use");
void deregister_world(ttg::base::WorldImplBase &world)
void register_world(ttg::base::WorldImplBase &world)
void destroy_worlds(void)
top-level TTG namespace contains runtime-neutral functionality
int size(World world=default_execution_context())
ttg::World & get_default_world()
the default priority map implementation