diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..632b3e33c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vs +build/* diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json deleted file mode 100644 index 0cf5ea503..000000000 --- a/.vs/ProjectSettings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "CurrentProjectSetting": "No Configurations" -} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json deleted file mode 100644 index 96dec7988..000000000 --- a/.vs/VSWorkspaceState.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "ExpandedNodes": [ - "" - ], - "SelectedNode": "\\.nojekyll", - "PreviewInSolutionExplorer": false -} \ No newline at end of file diff --git a/.vs/entt-gh-pages/v16/.suo b/.vs/entt-gh-pages/v16/.suo deleted file mode 100644 index af1e0161e..000000000 Binary files a/.vs/entt-gh-pages/v16/.suo and /dev/null differ diff --git a/.vs/entt-gh-pages/v16/Browse.VC.db b/.vs/entt-gh-pages/v16/Browse.VC.db deleted file mode 100644 index a9ba6353b..000000000 Binary files a/.vs/entt-gh-pages/v16/Browse.VC.db and /dev/null differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite deleted file mode 100644 index 5da51827c..000000000 Binary files a/.vs/slnx.sqlite and /dev/null differ diff --git a/actor_8hpp_source.html b/actor_8hpp_source.html deleted file mode 100644 index 57d15a5fe..000000000 --- a/actor_8hpp_source.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - -EnTT: src/entt/entity/actor.hpp Source File - - - - - - - - - -
-
- - - - - - -
-
EnTT -  3.5.2 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
actor.hpp
-
-
-
1 #ifndef ENTT_ENTITY_ACTOR_HPP
-
2 #define ENTT_ENTITY_ACTOR_HPP
-
3 
-
4 
-
5 #include <utility>
-
6 #include <type_traits>
-
7 #include "../config/config.h"
-
8 #include "registry.hpp"
-
9 #include "entity.hpp"
-
10 #include "fwd.hpp"
-
11 
-
12 
-
13 namespace entt {
-
14 
-
15 
-
26 template<typename Entity>
-
27 struct [[deprecated("Consider using the handle class instead")]] basic_actor {
- -
31  using entity_type = Entity;
-
32 
-
33  basic_actor() ENTT_NOEXCEPT
-
34  : entt{null}, reg{nullptr}
-
35  {}
-
36 
-
46  basic_actor(basic_actor &&other) ENTT_NOEXCEPT
-
47  : entt{other.entt}, reg{other.reg}
-
48  {
-
49  other.entt = null;
-
50  }
-
51 
-
56  explicit basic_actor(registry_type &ref)
-
57  : entt{ref.create()}, reg{&ref}
-
58  {}
-
59 
-
65  explicit basic_actor(entity_type entity, registry_type &ref) ENTT_NOEXCEPT
-
66  : entt{entity}, reg{&ref}
-
67  {
-
68  ENTT_ASSERT(ref.valid(entity));
-
69  }
-
70 
-
72  virtual ~basic_actor() {
-
73  if(*this) {
-
74  reg->destroy(entt);
-
75  }
-
76  }
-
77 
-
88  basic_actor & operator=(basic_actor &&other) ENTT_NOEXCEPT {
-
89  if(this != &other) {
-
90  auto tmp{std::move(other)};
-
91  std::swap(reg, tmp.reg);
-
92  std::swap(entt, tmp.entt);
-
93  }
-
94 
-
95  return *this;
-
96  }
-
97 
-
112  template<typename Component, typename... Args>
-
113  decltype(auto) assign(Args &&... args) {
-
114  return reg->template emplace_or_replace<Component>(entt, std::forward<Args>(args)...);
-
115  }
-
116 
-
121  template<typename Component>
-
122  void remove() {
-
123  reg->template remove<Component>(entt);
-
124  }
-
125 
-
131  template<typename... Component>
-
132  [[nodiscard]] bool has() const {
-
133  return reg->template has<Component...>(entt);
-
134  }
-
135 
-
141  template<typename... Component>
-
142  [[nodiscard]] decltype(auto) get() const {
-
143  return std::as_const(*reg).template get<Component...>(entt);
-
144  }
-
145 
-
147  template<typename... Component>
-
148  [[nodiscard]] decltype(auto) get() {
-
149  return reg->template get<Component...>(entt);
-
150  }
-
151 
-
157  template<typename... Component>
-
158  [[nodiscard]] auto try_get() const {
-
159  return std::as_const(*reg).template try_get<Component...>(entt);
-
160  }
-
161 
-
163  template<typename... Component>
-
164  [[nodiscard]] auto try_get() {
-
165  return reg->template try_get<Component...>(entt);
-
166  }
-
167 
-
172  [[nodiscard]] const registry_type & backend() const ENTT_NOEXCEPT {
-
173  return *reg;
-
174  }
-
175 
-
177  [[nodiscard]] registry_type & backend() ENTT_NOEXCEPT {
-
178  return const_cast<registry_type &>(std::as_const(*this).backend());
-
179  }
-
180 
-
185  [[nodiscard]] entity_type entity() const ENTT_NOEXCEPT {
-
186  return entt;
-
187  }
-
188 
-
193  [[nodiscard]] explicit operator bool() const {
-
194  return reg && reg->valid(entt);
-
195  }
-
196 
-
197 private:
-
198  entity_type entt;
-
199  registry_type *reg;
-
200 };
-
201 
-
202 
-
203 }
-
204 
-
205 
-
206 #endif
-
-
entt::basic_actor::backend
const registry_type & backend() const noexcept
Returns a reference to the underlying registry.
Definition: actor.hpp:172
-
entt::basic_registry::create
entity_type create()
Creates a new entity and returns it.
Definition: registry.hpp:473
-
entt::basic_actor::entity_type
Entity entity_type
Underlying entity identifier.
Definition: actor.hpp:31
-
entt::get
constexpr get_t< Type... > get
Variable template for lists of observed components.
Definition: utility.hpp:40
-
entt::basic_handle
Non-owning handle to an entity.
Definition: handle.hpp:19
-
entt::basic_actor::has
bool has() const
Checks if an actor has the given components.
Definition: actor.hpp:132
-
entt::basic_actor::basic_actor
basic_actor(basic_actor &&other) noexcept
Move constructor.
Definition: actor.hpp:46
-
entt::basic_actor::~basic_actor
virtual ~basic_actor()
Default destructor.
Definition: actor.hpp:72
-
entt::basic_actor::basic_actor
basic_actor(registry_type &ref)
Constructs an actor from a given registry.
Definition: actor.hpp:56
-
entt
EnTT default namespace.
Definition: algorithm.hpp:13
-
entt::basic_actor::backend
registry_type & backend() noexcept
Returns a reference to the underlying registry.
Definition: actor.hpp:177
-
entt::basic_actor::entity
entity_type entity() const noexcept
Returns the entity associated with an actor.
Definition: actor.hpp:185
-
entt::basic_actor::operator=
basic_actor & operator=(basic_actor &&other) noexcept
Move assignment operator.
Definition: actor.hpp:88
-
entt::basic_actor::basic_actor
basic_actor(entity_type entity, registry_type &ref) noexcept
Constructs an actor from a given entity.
Definition: actor.hpp:65
-
entt::basic_registry
Fast and reliable entity-component system.
Definition: registry.hpp:43
-
entt::basic_actor::try_get
auto try_get() const
Returns pointers to the given components for an actor.
Definition: actor.hpp:158
-
entt::basic_actor::remove
void remove()
Removes the given component from an actor.
Definition: actor.hpp:122
-
entt::entity
entity
Default entity identifier.
Definition: fwd.hpp:52
-
entt::basic_actor::try_get
auto try_get()
Returns pointers to the given components for an actor.
Definition: actor.hpp:164
-
entt::basic_actor
Dedicated to those who aren't confident with the entity-component-system architecture.
Definition: actor.hpp:27
- - - - diff --git a/adl__pointer_8hpp_source.html b/adl__pointer_8hpp_source.html new file mode 100644 index 000000000..a04734e91 --- /dev/null +++ b/adl__pointer_8hpp_source.html @@ -0,0 +1,108 @@ + + + + + + + +EnTT: src/entt/meta/adl_pointer.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
EnTT +  3.6.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
adl_pointer.hpp
+
+
+
1 #ifndef ENTT_META_ADL_POINTER_HPP
+
2 #define ENTT_META_ADL_POINTER_HPP
+
3 
+
4 
+
5 namespace entt {
+
6 
+
7 
+
14 template<typename Type>
+
15 decltype(auto) dereference_meta_pointer_like(const Type &value) {
+
16  return *value;
+
17 }
+
18 
+
19 
+
24 template<typename Type>
+ +
31  static decltype(auto) dereference(const Type &value) {
+
32  return dereference_meta_pointer_like(value);
+
33  }
+
34 };
+
35 
+
36 
+
37 }
+
38 
+
39 
+
40 #endif
+
+
entt::adl_meta_pointer_like::dereference
static decltype(auto) dereference(const Type &value)
Uses the default ADL based lookup method to resolve the call.
Definition: adl_pointer.hpp:31
+
entt::adl_meta_pointer_like
Fake ADL based lookup function for meta pointer-like types.
Definition: adl_pointer.hpp:25
+
entt
EnTT default namespace.
Definition: algorithm.hpp:13
+
entt::dereference_meta_pointer_like
decltype(auto) dereference_meta_pointer_like(const Type &value)
ADL based lookup function for dereferencing meta pointer-like types.
Definition: adl_pointer.hpp:15
+ + + + diff --git a/algorithm_8hpp_source.html b/algorithm_8hpp_source.html index 6d8699520..bbf8dc511 100644 --- a/algorithm_8hpp_source.html +++ b/algorithm_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
@@ -97,7 +97,7 @@ $(function() {
58  template<typename It, typename Compare = std::less<>>
59  void operator()(It first, It last, Compare compare = Compare{}) const {
60  if(first < last) {
-
61  for(auto it = first+1; it < last; ++it) {
+
61  for(auto it = first + 1; it < last; ++it) {
62  auto value = std::move(*it);
63  auto pre = it;
64 
@@ -130,17 +130,17 @@ $(function() {
111  std::size_t index[buckets]{};
112  std::size_t count[buckets]{};
113 
-
114  std::for_each(from, to, [&getter, &count, start](const value_type &item) {
-
115  ++count[(getter(item) >> start) & mask];
-
116  });
+
114  for(auto it = from; it != to; ++it) {
+
115  ++count[(getter(*it) >> start) & mask];
+
116  }
117 
-
118  std::for_each(std::next(std::begin(index)), std::end(index), [index = std::begin(index), count = std::begin(count)](auto &item) mutable {
-
119  item = *(index++) + *(count++);
-
120  });
+
118  for(std::size_t pos{}, end = buckets - 1u; pos < end; ++pos) {
+
119  index[pos + 1u] = index[pos] + count[pos];
+
120  }
121 
-
122  std::for_each(from, to, [&getter, &out, &index, start](value_type &item) {
-
123  out[index[(getter(item) >> start) & mask]++] = std::move(item);
-
124  });
+
122  for(auto it = from; it != to; ++it) {
+
123  out[index[(getter(*it) >> start) & mask]++] = std::move(*it);
+
124  }
125  };
126 
127  for(std::size_t pass = 0; pass < (passes & ~1); pass += 2) {
diff --git a/android-ndk-r17_8hpp_source.html b/android-ndk-r17_8hpp_source.html index 7642ceff3..f867590d9 100644 --- a/android-ndk-r17_8hpp_source.html +++ b/android-ndk-r17_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
diff --git a/annotated.html b/annotated.html index e6b805055..86054d281 100644 --- a/annotated.html +++ b/annotated.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
@@ -69,138 +69,176 @@ $(function() {
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 ►NenttEnTT default namespace
diff --git a/any_8hpp_source.html b/any_8hpp_source.html new file mode 100644 index 000000000..b7e378e74 --- /dev/null +++ b/any_8hpp_source.html @@ -0,0 +1,389 @@ + + + + + + + +EnTT: src/entt/core/any.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
EnTT +  3.6.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
any.hpp
+
+
+
1 #ifndef ENTT_CORE_ANY_HPP
+
2 #define ENTT_CORE_ANY_HPP
+
3 
+
4 
+
5 #include <functional>
+
6 #include <new>
+
7 #include <type_traits>
+
8 #include <utility>
+
9 #include "../config/config.h"
+
10 #include "type_info.hpp"
+
11 #include "type_traits.hpp"
+
12 
+
13 
+
14 namespace entt {
+
15 
+
16 
+
18 class any {
+
19  enum class operation { COPY, MOVE, DTOR, COMP, ADDR, CADDR, REF, CREF, TYPE };
+
20 
+
21  using storage_type = std::aligned_storage_t<sizeof(double[2]), alignof(double[2])>;
+
22  using vtable_type = const void *(const operation, const any &, const void *);
+
23 
+
24  template<typename Type>
+
25  static constexpr auto in_situ = sizeof(Type) <= sizeof(storage_type) && std::is_nothrow_move_constructible_v<Type>;
+
26 
+
27  template<typename Type>
+
28  [[nodiscard]] static bool compare(const void *lhs, const void *rhs) {
+
29  if constexpr(!std::is_function_v<Type> && is_equality_comparable_v<Type>) {
+
30  return *static_cast<const Type *>(lhs) == *static_cast<const Type *>(rhs);
+
31  } else {
+
32  return lhs == rhs;
+
33  }
+
34  }
+
35 
+
36  static type_info & as_type_info(const void *data) {
+
37  return *const_cast<type_info *>(static_cast<const type_info *>(data));
+
38  }
+
39 
+
40  static any & as_any(const void *data) {
+
41  return *const_cast<any *>(static_cast<const any *>(data));
+
42  }
+
43 
+
44  template<typename Type>
+
45  static const void * basic_vtable([[maybe_unused]] const operation op, [[maybe_unused]] const any &from, [[maybe_unused]] const void *to) {
+
46  if constexpr(!std::is_void_v<Type>) {
+
47  if constexpr(std::is_lvalue_reference_v<Type>) {
+
48  using base_type = std::remove_reference_t<Type>;
+
49 
+
50  switch(op) {
+
51  case operation::REF:
+
52  case operation::CREF:
+
53  as_any(to).vtable = (op == operation::REF) ? basic_vtable<Type> : basic_vtable<const base_type &>;
+
54  [[fallthrough]];
+
55  case operation::COPY:
+
56  case operation::MOVE:
+
57  as_any(to).instance = from.instance;
+
58  [[fallthrough]];
+
59  case operation::DTOR:
+
60  break;
+
61  case operation::COMP:
+
62  return compare<std::remove_const_t<base_type>>(from.instance, to) ? to : nullptr;
+
63  case operation::ADDR:
+
64  return std::is_const_v<base_type> ? nullptr : from.instance;
+
65  case operation::CADDR:
+
66  return from.instance;
+
67  case operation::TYPE:
+
68  as_type_info(to) = type_id<std::remove_const_t<base_type>>();
+
69  break;
+
70  }
+
71  } else if constexpr(in_situ<Type>) {
+
72  #if __cpp_lib_launder >= 201606L
+
73  auto *instance = const_cast<Type *>(std::launder(reinterpret_cast<const Type *>(&from.storage)));
+
74  #else
+
75  auto *instance = const_cast<Type *>(reinterpret_cast<const Type *>(&from.storage));
+
76  #endif
+
77 
+
78  switch(op) {
+
79  case operation::COPY:
+
80  new (&as_any(to).storage) Type{std::as_const(*instance)};
+
81  break;
+
82  case operation::MOVE:
+
83  new (&as_any(to).storage) Type{std::move(*instance)};
+
84  [[fallthrough]];
+
85  case operation::DTOR:
+
86  instance->~Type();
+
87  break;
+
88  case operation::COMP:
+
89  return compare<Type>(instance, to) ? to : nullptr;
+
90  case operation::ADDR:
+
91  case operation::CADDR:
+
92  return instance;
+
93  case operation::REF:
+
94  case operation::CREF:
+
95  as_any(to).vtable = (op == operation::REF) ? basic_vtable<Type &> : basic_vtable<const Type &>;
+
96  as_any(to).instance = instance;
+
97  break;
+
98  case operation::TYPE:
+
99  as_type_info(to) = type_id<Type>();
+
100  break;
+
101  }
+
102  } else {
+
103  switch(op) {
+
104  case operation::COPY:
+
105  as_any(to).instance = new Type{*static_cast<const Type *>(from.instance)};
+
106  break;
+
107  case operation::REF:
+
108  case operation::CREF:
+
109  as_any(to).vtable = (op == operation::REF) ? basic_vtable<Type &> : basic_vtable<const Type &>;
+
110  [[fallthrough]];
+
111  case operation::MOVE:
+
112  as_any(to).instance = from.instance;
+
113  break;
+
114  case operation::DTOR:
+
115  delete static_cast<const Type *>(from.instance);
+
116  break;
+
117  case operation::COMP:
+
118  return compare<Type>(from.instance, to) ? to : nullptr;
+
119  case operation::ADDR:
+
120  case operation::CADDR:
+
121  return from.instance;
+
122  case operation::TYPE:
+
123  as_type_info(to) = type_id<Type>();
+
124  break;
+
125  }
+
126  }
+
127  }
+
128 
+
129  return nullptr;
+
130  }
+
131 
+
132 public:
+
134  any() ENTT_NOEXCEPT
+
135  : any{std::in_place_type<void>}
+
136  {}
+
137 
+
144  template<typename Type, typename... Args>
+
145  explicit any(std::in_place_type_t<Type>, [[maybe_unused]] Args &&... args)
+
146  : vtable{&basic_vtable<Type>},
+
147  instance{}
+
148  {
+
149  if constexpr(!std::is_void_v<Type>) {
+
150  if constexpr(std::is_lvalue_reference_v<Type>) {
+
151  static_assert(sizeof...(Args) == 1u && (std::is_pointer_v<std::remove_reference_t<Args>> && ...));
+
152  ENTT_ASSERT(((args != nullptr) && ...));
+
153  instance = (args, ...);
+
154  } else if constexpr(in_situ<Type>) {
+
155  new (&storage) Type{std::forward<Args>(args)...};
+
156  } else {
+
157  instance = new Type{std::forward<Args>(args)...};
+
158  }
+
159  }
+
160  }
+
161 
+
167  template<typename Type>
+
168  any(std::reference_wrapper<Type> value) ENTT_NOEXCEPT
+
169  : any{std::in_place_type<Type &>, &value.get()}
+
170  {}
+
171 
+
177  template<typename Type, typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, any>>>
+
178  any(Type &&value)
+
179  : any{std::in_place_type<std::remove_cv_t<std::remove_reference_t<Type>>>, std::forward<Type>(value)}
+
180  {}
+
181 
+
186  any(const any &other)
+
187  : any{}
+
188  {
+
189  vtable = other.vtable;
+
190  vtable(operation::COPY, other, this);
+
191  }
+
192 
+
197  any(any &&other) ENTT_NOEXCEPT
+
198  : any{}
+
199  {
+
200  vtable = std::exchange(other.vtable, &basic_vtable<void>);
+
201  vtable(operation::MOVE, other, this);
+
202  }
+
203 
+
205  ~any() {
+
206  vtable(operation::DTOR, *this, nullptr);
+
207  }
+
208 
+
214  any & operator=(any other) {
+
215  swap(*this, other);
+
216  return *this;
+
217  }
+
218 
+
223  [[nodiscard]] type_info type() const ENTT_NOEXCEPT {
+
224  type_info info;
+
225  vtable(operation::TYPE, *this, &info);
+
226  return info;
+
227  }
+
228 
+
233  [[nodiscard]] const void * data() const ENTT_NOEXCEPT {
+
234  return vtable(operation::CADDR, *this, nullptr);
+
235  }
+
236 
+
238  [[nodiscard]] void * data() ENTT_NOEXCEPT {
+
239  return const_cast<void *>(vtable(operation::ADDR, *this, nullptr));
+
240  }
+
241 
+
248  template<typename Type, typename... Args>
+
249  void emplace(Args &&... args) {
+
250  *this = any{std::in_place_type<Type>, std::forward<Args>(args)...};
+
251  }
+
252 
+
257  [[nodiscard]] explicit operator bool() const ENTT_NOEXCEPT {
+
258  return !(vtable(operation::CADDR, *this, nullptr) == nullptr);
+
259  }
+
260 
+
266  bool operator==(const any &other) const ENTT_NOEXCEPT {
+
267  return type() == other.type() && (vtable(operation::COMP, *this, other.data()) == other.data());
+
268  }
+
269 
+
275  friend void swap(any &lhs, any &rhs) {
+
276  any tmp{};
+
277  lhs.vtable(operation::MOVE, lhs, &tmp);
+
278  rhs.vtable(operation::MOVE, rhs, &lhs);
+
279  lhs.vtable(operation::MOVE, tmp, &rhs);
+
280  std::swap(lhs.vtable, rhs.vtable);
+
281  }
+
282 
+
288  [[nodiscard]] friend any as_ref(any &other) ENTT_NOEXCEPT {
+
289  any ref{};
+
290  other.vtable(operation::REF, other, &ref);
+
291  return ref;
+
292  }
+
293 
+
295  [[nodiscard]] friend any as_ref(const any &other) ENTT_NOEXCEPT {
+
296  any ref{};
+
297  other.vtable(operation::CREF, other, &ref);
+
298  return ref;
+
299  }
+
300 
+
301 private:
+
302  vtable_type *vtable;
+
303  union { const void *instance; storage_type storage; };
+
304 };
+
305 
+
306 
+
313 [[nodiscard]] inline bool operator!=(const any &lhs, const any &rhs) ENTT_NOEXCEPT {
+
314  return !(lhs == rhs);
+
315 }
+
316 
+
317 
+
324 template<typename Type>
+
325 Type any_cast(const any &data) ENTT_NOEXCEPT {
+
326  const auto * const instance = any_cast<std::remove_reference_t<Type>>(&data);
+
327  ENTT_ASSERT(instance);
+
328  return static_cast<Type>(*instance);
+
329 }
+
330 
+
331 
+
333 template<typename Type>
+
334 Type any_cast(any &data) ENTT_NOEXCEPT {
+
335  // forces const on non-reference types to make them work also with wrappers for const references
+
336  auto * const instance = any_cast<std::conditional_t<std::is_reference_v<Type>, std::remove_reference_t<Type>, const Type>>(&data);
+
337  ENTT_ASSERT(instance);
+
338  return static_cast<Type>(*instance);
+
339 }
+
340 
+
341 
+
343 template<typename Type>
+
344 Type any_cast(any &&data) ENTT_NOEXCEPT {
+
345  // forces const on non-reference types to make them work also with wrappers for const references
+
346  auto * const instance = any_cast<std::conditional_t<std::is_reference_v<Type>, std::remove_reference_t<Type>, const Type>>(&data);
+
347  ENTT_ASSERT(instance);
+
348  return static_cast<Type>(std::move(*instance));
+
349 }
+
350 
+
351 
+
353 template<typename Type>
+
354 const Type * any_cast(const any *data) ENTT_NOEXCEPT {
+
355  return (data->type() == type_id<Type>() ? static_cast<const Type *>(data->data()) : nullptr);
+
356 }
+
357 
+
358 
+
360 template<typename Type>
+
361 Type * any_cast(any *data) ENTT_NOEXCEPT {
+
362  // last attempt to make wrappers for const references return their values
+
363  return (data->type() == type_id<Type>() ? static_cast<Type *>(static_cast<constness_as_t<any, Type> *>(data)->data()) : nullptr);
+
364 }
+
365 
+
366 
+
367 }
+
368 
+
369 
+
370 #endif
+
+
entt::any::any
any(any &&other) noexcept
Move constructor.
Definition: any.hpp:197
+
entt::any::as_ref
friend any as_ref(any &other) noexcept
Aliasing constructor.
Definition: any.hpp:288
+
entt::any::any
any(std::reference_wrapper< Type > value) noexcept
Constructs an any that holds an unmanaged object.
Definition: any.hpp:168
+
entt::any::any
any(Type &&value)
Constructs an any from a given value.
Definition: any.hpp:178
+
entt::any::as_ref
friend any as_ref(const any &other) noexcept
Aliasing constructor.
Definition: any.hpp:295
+
entt::basic_storage
Basic storage implementation.
Definition: storage.hpp:58
+
entt::any::data
void * data() noexcept
Returns an opaque pointer to the contained instance.
Definition: any.hpp:238
+
entt::any::swap
friend void swap(any &lhs, any &rhs)
Swaps two any objects.
Definition: any.hpp:275
+
entt::any_cast
Type any_cast(const any &data) noexcept
Performs type-safe access to the contained object.
Definition: any.hpp:325
+
entt::any::data
const void * data() const noexcept
Returns an opaque pointer to the contained instance.
Definition: any.hpp:233
+
entt::any::any
any() noexcept
Default constructor.
Definition: any.hpp:134
+
entt::any::emplace
void emplace(Args &&... args)
Replaces the contained object by creating a new instance directly.
Definition: any.hpp:249
+
entt
EnTT default namespace.
Definition: algorithm.hpp:13
+
entt::any::type
type_info type() const noexcept
Returns the type of the contained object.
Definition: any.hpp:223
+
entt::any::any
any(const any &other)
Copy constructor.
Definition: any.hpp:186
+
entt::any::operator=
any & operator=(any other)
Assignment operator.
Definition: any.hpp:214
+
entt::any
A SBO friendly, type-safe container for single values of any type.
Definition: any.hpp:18
+
entt::type_info
Implementation specific information about a type.
Definition: type_info.hpp:141
+
entt::any::operator==
bool operator==(const any &other) const noexcept
Checks if two wrappers differ in their content.
Definition: any.hpp:266
+
entt::constness_as_t
typename constness_as< To, From >::type constness_as_t
Alias template to facilitate the transcription of the constness.
Definition: type_traits.hpp:549
+
entt::operator!=
bool operator!=(const any &lhs, const any &rhs) noexcept
Checks if two wrappers differ in their content.
Definition: any.hpp:313
+
entt::any::~any
~any()
Frees the internal storage, whatever it means.
Definition: any.hpp:205
+
entt::any::any
any(std::in_place_type_t< Type >, [[maybe_unused]] Args &&... args)
Constructs an any by directly initializing the new object.
Definition: any.hpp:145
+ + + + diff --git a/attribute_8h_source.html b/attribute_8h_source.html index d21f3f661..91fc03433 100644 --- a/attribute_8h_source.html +++ b/attribute_8h_source.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
diff --git a/cache_8hpp_source.html b/cache_8hpp_source.html index ef8c486a2..970520c53 100644 --- a/cache_8hpp_source.html +++ b/cache_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
diff --git a/classentt_1_1any-members.html b/classentt_1_1any-members.html new file mode 100644 index 000000000..0a0ba9952 --- /dev/null +++ b/classentt_1_1any-members.html @@ -0,0 +1,101 @@ + + + + + + + +EnTT: Member List + + + + + + + + + +
+
+ + + + + + +
+
EnTT +  3.6.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
entt::any Member List
+
+
+ +

This is the complete list of members for entt::any, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
any() noexceptentt::anyinline
any(std::in_place_type_t< Type >, [[maybe_unused]] Args &&... args)entt::anyinlineexplicit
any(std::reference_wrapper< Type > value) noexceptentt::anyinline
any(Type &&value)entt::anyinline
any(const any &other)entt::anyinline
any(any &&other) noexceptentt::anyinline
as_ref(any &other) noexceptentt::anyfriend
as_ref(const any &other) noexceptentt::anyfriend
data() const noexceptentt::anyinline
data() noexceptentt::anyinline
emplace(Args &&... args)entt::anyinline
instance (defined in entt::any)entt::any
operator bool() const noexceptentt::anyinlineexplicit
operator=(any other)entt::anyinline
operator==(const any &other) const noexceptentt::anyinline
storage (defined in entt::any)entt::any
swap(any &lhs, any &rhs)entt::anyfriend
type() const noexceptentt::anyinline
~any()entt::anyinline
+ + + + diff --git a/classentt_1_1any.html b/classentt_1_1any.html new file mode 100644 index 000000000..de294583e --- /dev/null +++ b/classentt_1_1any.html @@ -0,0 +1,737 @@ + + + + + + + +EnTT: entt::any Class Reference + + + + + + + + + +
+
+ + + + + + +
+
EnTT +  3.6.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Friends | +List of all members
+
+
entt::any Class Reference
+
+
+ +

A SBO friendly, type-safe container for single values of any type. + More...

+ +

#include <any.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+ any () noexcept
 Default constructor.
 
template<typename Type , typename... Args>
 any (std::in_place_type_t< Type >, [[maybe_unused]] Args &&... args)
 Constructs an any by directly initializing the new object. More...
 
template<typename Type >
 any (std::reference_wrapper< Type > value) noexcept
 Constructs an any that holds an unmanaged object. More...
 
template<typename Type , typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, any>>>
 any (Type &&value)
 Constructs an any from a given value. More...
 
 any (const any &other)
 Copy constructor. More...
 
 any (any &&other) noexcept
 Move constructor. More...
 
+ ~any ()
 Frees the internal storage, whatever it means.
 
any & operator= (any other)
 Assignment operator. More...
 
type_info type () const noexcept
 Returns the type of the contained object. More...
 
const void * data () const noexcept
 Returns an opaque pointer to the contained instance. More...
 
void * data () noexcept
 Returns an opaque pointer to the contained instance. More...
 
template<typename Type , typename... Args>
void emplace (Args &&... args)
 Replaces the contained object by creating a new instance directly. More...
 
 operator bool () const noexcept
 Returns false if a wrapper is empty, true otherwise. More...
 
bool operator== (const any &other) const noexcept
 Checks if two wrappers differ in their content. More...
 
+ + + + + + + + + + +

+Friends

void swap (any &lhs, any &rhs)
 Swaps two any objects. More...
 
any as_ref (any &other) noexcept
 Aliasing constructor. More...
 
any as_ref (const any &other) noexcept
 Aliasing constructor. More...
 
+

Detailed Description

+

A SBO friendly, type-safe container for single values of any type.

+ +

Definition at line 18 of file any.hpp.

+

Constructor & Destructor Documentation

+ +

◆ any() [1/5]

+ +
+
+
+template<typename Type , typename... Args>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
entt::any::any (std::in_place_type_t< Type > ,
[[maybe_unused] ] Args &&... args 
)
+
+inlineexplicit
+
+ +

Constructs an any by directly initializing the new object.

+
Template Parameters
+ + + +
TypeType of object to use to initialize the wrapper.
ArgsTypes of arguments to use to construct the new instance.
+
+
+
Parameters
+ + +
argsParameters to use to construct the instance.
+
+
+ +

Definition at line 145 of file any.hpp.

+ +
+
+ +

◆ any() [2/5]

+ +
+
+
+template<typename Type >
+ + + + + +
+ + + + + + + + +
entt::any::any (std::reference_wrapper< Type > value)
+
+inlinenoexcept
+
+ +

Constructs an any that holds an unmanaged object.

+
Template Parameters
+ + +
TypeType of object to use to initialize the wrapper.
+
+
+
Parameters
+ + +
valueAn instance of an object to use to initialize the wrapper.
+
+
+ +

Definition at line 168 of file any.hpp.

+ +
+
+ +

◆ any() [3/5]

+ +
+
+
+template<typename Type , typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, any>>>
+ + + + + +
+ + + + + + + + +
entt::any::any (Type && value)
+
+inline
+
+ +

Constructs an any from a given value.

+
Template Parameters
+ + +
TypeType of object to use to initialize the wrapper.
+
+
+
Parameters
+ + +
valueAn instance of an object to use to initialize the wrapper.
+
+
+ +

Definition at line 178 of file any.hpp.

+ +
+
+ +

◆ any() [4/5]

+ +
+
+ + + + + +
+ + + + + + + + +
entt::any::any (const any & other)
+
+inline
+
+ +

Copy constructor.

+
Parameters
+ + +
otherThe instance to copy from.
+
+
+ +

Definition at line 186 of file any.hpp.

+ +
+
+ +

◆ any() [5/5]

+ +
+
+ + + + + +
+ + + + + + + + +
entt::any::any (any && other)
+
+inlinenoexcept
+
+ +

Move constructor.

+
Parameters
+ + +
otherThe instance to move from.
+
+
+ +

Definition at line 197 of file any.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ data() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const void* entt::any::data () const
+
+inlinenoexcept
+
+ +

Returns an opaque pointer to the contained instance.

+
Returns
An opaque pointer the contained instance, if any.
+ +

Definition at line 233 of file any.hpp.

+ +
+
+ +

◆ data() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
void* entt::any::data ()
+
+inlinenoexcept
+
+ +

Returns an opaque pointer to the contained instance.

+
Returns
An opaque pointer the contained instance, if any.
+ +

Definition at line 238 of file any.hpp.

+ +
+
+ +

◆ emplace()

+ +
+
+
+template<typename Type , typename... Args>
+ + + + + +
+ + + + + + + + +
void entt::any::emplace (Args &&... args)
+
+inline
+
+ +

Replaces the contained object by creating a new instance directly.

+
Template Parameters
+ + + +
TypeType of object to use to initialize the wrapper.
ArgsTypes of arguments to use to construct the new instance.
+
+
+
Parameters
+ + +
argsParameters to use to construct the instance.
+
+
+ +

Definition at line 249 of file any.hpp.

+ +
+
+ +

◆ operator bool()

+ +
+
+ + + + + +
+ + + + + + + +
entt::any::operator bool () const
+
+inlineexplicitnoexcept
+
+ +

Returns false if a wrapper is empty, true otherwise.

+
Returns
False if the wrapper is empty, true otherwise.
+ +

Definition at line 257 of file any.hpp.

+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + + +
any& entt::any::operator= (any other)
+
+inline
+
+ +

Assignment operator.

+
Parameters
+ + +
otherThe instance to assign from.
+
+
+
Returns
This any object.
+ +

Definition at line 214 of file any.hpp.

+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + +
bool entt::any::operator== (const any & other) const
+
+inlinenoexcept
+
+ +

Checks if two wrappers differ in their content.

+
Parameters
+ + +
otherWrapper with which to compare.
+
+
+
Returns
False if the two objects differ in their content, true otherwise.
+ +

Definition at line 266 of file any.hpp.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
type_info entt::any::type () const
+
+inlinenoexcept
+
+ +

Returns the type of the contained object.

+
Returns
The type of the contained object, if any.
+ +

Definition at line 223 of file any.hpp.

+ +
+
+

Friends And Related Function Documentation

+ +

◆ as_ref [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
any as_ref (any & other)
+
+friend
+
+ +

Aliasing constructor.

+
Parameters
+ + +
otherA reference to an object that isn't necessarily initialized.
+
+
+
Returns
An any that shares a reference to an unmanaged object.
+ +

Definition at line 288 of file any.hpp.

+ +
+
+ +

◆ as_ref [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
any as_ref (const any & other)
+
+friend
+
+ +

Aliasing constructor.

+
Parameters
+ + +
otherA reference to an object that isn't necessarily initialized.
+
+
+
Returns
An any that shares a reference to an unmanaged object.
+ +

Definition at line 295 of file any.hpp.

+ +
+
+ +

◆ swap

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void swap (any & lhs,
any & rhs 
)
+
+friend
+
+ +

Swaps two any objects.

+
Parameters
+ + + +
lhsA valid any object.
rhsA valid any object.
+
+
+ +

Definition at line 275 of file any.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classentt_1_1basic__continuous__loader-members.html b/classentt_1_1basic__continuous__loader-members.html index 4179a2915..d7ff72c28 100644 --- a/classentt_1_1basic__continuous__loader-members.html +++ b/classentt_1_1basic__continuous__loader-members.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
diff --git a/classentt_1_1basic__continuous__loader.html b/classentt_1_1basic__continuous__loader.html index 35fcc0edf..8c9633328 100644 --- a/classentt_1_1basic__continuous__loader.html +++ b/classentt_1_1basic__continuous__loader.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
@@ -135,7 +135,7 @@ class entt::basic_continuous_loader< Entity > -

Definition at line 301 of file snapshot.hpp.

+

Definition at line 298 of file snapshot.hpp.

Constructor & Destructor Documentation

◆ basic_continuous_loader()

@@ -171,7 +171,7 @@ template<typename Entity > -

Definition at line 417 of file snapshot.hpp.

+

Definition at line 415 of file snapshot.hpp.

@@ -235,7 +235,7 @@ template<typename... Component, typename Archive , typename... Type, typename
Returns
A non-const reference to this loader.
-

Definition at line 477 of file snapshot.hpp.

+

Definition at line 478 of file snapshot.hpp.

@@ -274,7 +274,7 @@ template<typename Entity >
Returns
True if entity is managed by the loader, false otherwise.
-

Definition at line 536 of file snapshot.hpp.

+

Definition at line 537 of file snapshot.hpp.

@@ -322,7 +322,7 @@ template<typename Archive >
Returns
A non-const reference to this loader.
-

Definition at line 438 of file snapshot.hpp.

+

Definition at line 436 of file snapshot.hpp.

@@ -361,7 +361,7 @@ template<typename Entity >
Returns
The local identifier if any, the null entity otherwise.
-

Definition at line 545 of file snapshot.hpp.

+

Definition at line 546 of file snapshot.hpp.

@@ -426,7 +426,7 @@ template<typename Entity > This functions helps to identify and destroy those entities.

Returns
A non-const reference to this loader.
-

Definition at line 523 of file snapshot.hpp.

+

Definition at line 524 of file snapshot.hpp.

@@ -459,7 +459,7 @@ template<typename Entity >

Users should invoke this member function after restoring each snapshot, unless they know exactly what they are doing.

Returns
A non-const reference to this loader.
-

Definition at line 491 of file snapshot.hpp.

+

Definition at line 492 of file snapshot.hpp.

diff --git a/classentt_1_1basic__group.html b/classentt_1_1basic__group.html index c18754a69..6e26b4bbf 100644 --- a/classentt_1_1basic__group.html +++ b/classentt_1_1basic__group.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
@@ -80,7 +80,7 @@ class entt::basic_group<... >

Group.

Primary template isn't defined on purpose. All the specializations give a compile-time error, but for a few reasonable cases.

-

Definition at line 24 of file fwd.hpp.

+

Definition at line 32 of file fwd.hpp.


The documentation for this class was generated from the following file: diff --git a/classentt_1_1basic__group_3_01Entity_00_01exclude__t_3_01Exclude_8_8_8_01_4_00_01get__t_3_01Get_1aada3a14110654dc27700c17c9c2396.html b/classentt_1_1basic__group_3_01Entity_00_01exclude__t_3_01Exclude_8_8_8_01_4_00_01get__t_3_01Get_1aada3a14110654dc27700c17c9c2396.html index 90d5b9a1d..351e8a9c8 100644 --- a/classentt_1_1basic__group_3_01Entity_00_01exclude__t_3_01Exclude_8_8_8_01_4_00_01get__t_3_01Get_1aada3a14110654dc27700c17c9c2396.html +++ b/classentt_1_1basic__group_3_01Entity_00_01exclude__t_3_01Exclude_8_8_8_01_4_00_01get__t_3_01Get_1aada3a14110654dc27700c17c9c2396.html @@ -22,7 +22,7 @@
EnTT -  3.5.2 +  3.6.0
@@ -73,7 +73,7 @@ $(function() { Friends | List of all members
-
entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > Class Template Reference
+
entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > Class Template Referencefinal
@@ -92,49 +92,44 @@ using size_type = std::size_t  Unsigned integer type.
  - -using iterator = typename sparse_set< Entity >::iterator - Random access iterator type.
-  - -using reverse_iterator = typename sparse_set< Entity >::reverse_iterator - Reversed iterator type.
-  + +using iterator = typename basic_sparse_set< Entity >::iterator + Random access iterator type.
+  + +using reverse_iterator = typename basic_sparse_set< Entity >::reverse_iterator + Reversed iterator type.
+  - - - - + + + - - - - + + + - - - - - + - + - + - + @@ -143,30 +138,33 @@ Public Member Functions - + + + + - - - - + + + + - - - - - - - + + + + + + +

Public Member Functions

template<typename Component >
size_type size () const noexcept
 Returns the number of existing components of the given type. More...
 
+ basic_group () noexcept
 Default constructor to use to create empty, invalid groups.
 
size_type size () const noexcept
 Returns the number of entities that have the given components. More...
 
template<typename... Component>
bool empty () const noexcept
 Checks whether a group or some pools are empty. More...
 
bool empty () const noexcept
 Checks whether a group is empty. More...
 
template<typename Component >
Component * raw () const noexcept
 Direct access to the list of components of a given pool. More...
 
template<typename Component >
const entity_type * data () const noexcept
 Direct access to the list of entities of a given pool. More...
 
const entity_type * data () const noexcept
 Direct access to the list of entities. More...
 
iterator begin () const noexcept
iterator begin () const noexcept
 Returns an iterator to the first entity of the group. More...
 
iterator end () const noexcept
iterator end () const noexcept
 Returns an iterator that is past the last entity of the group. More...
 
reverse_iterator rbegin () const noexcept
reverse_iterator rbegin () const noexcept
 Returns an iterator to the first entity of the reversed group. More...
 
reverse_iterator rend () const noexcept
reverse_iterator rend () const noexcept
 Returns an iterator that is past the last entity of the reversed group. More...
 
entity_type front () const
entity_type back () const
 Returns the last entity of the group, if any. More...
 
iterator find (const entity_type entt) const
iterator find (const entity_type entt) const
 Finds an entity. More...
 
entity_type operator[] (const size_type pos) const
 Returns the identifier that occupies the given position. More...
 
 operator bool () const noexcept
 Checks if a group is properly initialized. More...
 
bool contains (const entity_type entt) const
 Checks if a group contains an entity. More...
 
template<typename... Component>
decltype(auto) get ([[maybe_unused]] const entity_type entt) const
 Returns the components assigned to the given entity. More...
 
template<typename... Component>
decltype(auto) get (const entity_type entt) const
 Returns the components assigned to the given entity. More...
 
template<typename Func >
void each (Func func) const
 Iterates entities and components and applies the given function object to them. More...
 
auto proxy () const noexcept
 Returns an iterable object to use to visit the group. More...
 
template<typename... Component, typename Compare , typename Sort = std_sort, typename... Args>
void sort (Compare compare, Sort algo=Sort{}, Args &&... args)
 Sort a group according to the given comparison function. More...
 
iterable_group each () const noexcept
 Returns an iterable object to use to visit the group. More...
 
template<typename... Component, typename Compare , typename Sort = std_sort, typename... Args>
void sort (Compare compare, Sort algo=Sort{}, Args &&... args) const
 Sort a group according to the given comparison function. More...
 
@@ -207,7 +205,7 @@ class entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get -

Definition at line 603 of file group.hpp.

+

Definition at line 533 of file group.hpp.

Member Function Documentation

◆ back()

@@ -237,7 +235,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

Returns the last entity of the group, if any.

Returns
The last entity of the group if one exists, the null entity otherwise.
-

Definition at line 939 of file group.hpp.

+

Definition at line 783 of file group.hpp.

@@ -253,7 +251,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename... @@ -87,7 +87,7 @@ $(function() { - + diff --git a/classentt_1_1basic__observer.html b/classentt_1_1basic__observer.html index e190abdd5..04d77f4fa 100644 --- a/classentt_1_1basic__observer.html +++ b/classentt_1_1basic__observer.html @@ -22,7 +22,7 @@ @@ -91,10 +91,10 @@ using  - - - + + +

Friends

- + @@ -268,10 +266,9 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

Returns an iterator to the first entity of the group.

The returned iterator points to the first entity of the group. If the group is empty, the returned iterator will be equal to end().

-
Note
Iterators stay true to the order imposed to the underlying data structures.
Returns
An iterator to the first entity of the group.
-

Definition at line 867 of file group.hpp.

+

Definition at line 723 of file group.hpp.

@@ -310,55 +307,12 @@ template<typename Entity , typename... Exclude, typename... Get, typename...
Returns
True if the group contains the given entity, false otherwise.
-

Definition at line 969 of file group.hpp.

- - - - -

◆ data() [1/2]

- -
-
-
-template<typename Entity , typename... Exclude, typename... Get, typename... Owned>
-
-template<typename Component >
-
iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::begin iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::begin ( ) const
- - - - -
- - - - - - - -
const entity_type* entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::data () const
-
-inlinenoexcept
-
- -

Direct access to the list of entities of a given pool.

-

The returned pointer is such that range [data<Component>(), data<Component>() + size<Component>()] is always a valid range, even if the container is empty.
- Moreover, in case the group owns the given component, the range [data<Component>(), data<Component>() + size()] is such that it contains the entities that are part of the group itself.

-
Note
Entities are in the reverse order as returned by the begin/end iterators.
-
Template Parameters
- - -
ComponentType of component in which one is interested.
-
-
-
Returns
A pointer to the array of entities.
- -

Definition at line 835 of file group.hpp.

+

Definition at line 821 of file group.hpp.

-

◆ data() [2/2]

+

◆ data()

@@ -383,16 +337,49 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

Direct access to the list of entities.

-

The returned pointer is such that range [data(), data() + size()] is always a valid range, even if the container is empty.

-
Note
Entities are in the reverse order as returned by the begin/end iterators.
+

The returned pointer is such that range [data(), data() + size()) is always a valid range, even if the container is empty.

Returns
A pointer to the array of entities.
-

Definition at line 851 of file group.hpp.

+

Definition at line 711 of file group.hpp.

+ +
+
+ +

◆ each() [1/2]

+ +
+
+
+template<typename Entity , typename... Exclude, typename... Get, typename... Owned>
+ + + + + +
+ + + + + + + +
iterable_group entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::each () const
+
+inlinenoexcept
+
+ +

Returns an iterable object to use to visit the group.

+

The iterable object returns tuples that contain the current entity and a set of references to its non-empty components. The constness of the components is as requested.

+
Note
Empty types aren't explicitly instantiated and therefore they are never returned during iterations.
+
Returns
An iterable object to use to visit the group.
+ +

Definition at line 899 of file group.hpp.

-

◆ each()

+

◆ each() [2/2]

@@ -438,19 +425,17 @@ template<typename Func >
-

Definition at line 1024 of file group.hpp.

+

Definition at line 876 of file group.hpp.

- -

◆ empty()

+ +

◆ empty()

template<typename Entity , typename... Exclude, typename... Get, typename... Owned>
-
-template<typename... Component>
@@ -469,16 +454,10 @@ template<typename... Component>
-

Checks whether a group or some pools are empty.

-
Template Parameters
- - -
ComponentTypes of components in which one is interested.
-
-
-
Returns
True if the group or the pools are empty, false otherwise.
+

Checks whether a group is empty.

+
Returns
True if the group is empty, false otherwise.
-

Definition at line 787 of file group.hpp.

+

Definition at line 679 of file group.hpp.

@@ -494,7 +473,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename...
- + @@ -509,10 +488,9 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

Returns an iterator that is past the last entity of the group.

The returned iterator points to the entity following the last entity of the group. Attempting to dereference the returned iterator results in undefined behavior.

-
Note
Iterators stay true to the order imposed to the underlying data structures.
Returns
An iterator to the entity following the last entity of the group.
-

Definition at line 885 of file group.hpp.

+

Definition at line 737 of file group.hpp.

@@ -528,7 +506,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename... @@ -73,7 +73,7 @@ $(function() { Friends | List of all members
-
entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > > Class Template Reference
+
entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > > Class Template Referencefinal
@@ -92,21 +92,21 @@ using 
- - - - - - + + + + + +
iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::end iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::end ( ) const - + @@ -551,7 +529,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename...
Returns
An iterator to the given entity if it's found, past the end iterator otherwise.
-

Definition at line 950 of file group.hpp.

+

Definition at line 794 of file group.hpp.

@@ -583,12 +561,12 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

Returns the first entity of the group, if any.

Returns
The first entity of the group if one exists, the null entity otherwise.
-

Definition at line 929 of file group.hpp.

+

Definition at line 773 of file group.hpp.

- -

◆ get()

+ +

◆ get()

@@ -603,7 +581,7 @@ template<typename... Component>
- + @@ -617,8 +595,7 @@ template<typename... Component>

Returns the components assigned to the given entity.

Prefer this function instead of registry::get during iterations. It has far better performance than its counterpart.

-
Warning
Attempting to use an invalid component type results in a compilation error. Attempting to use an entity that doesn't belong to the group results in undefined behavior.
- An assertion will abort the execution at runtime in debug mode if the group doesn't contain the given entity.
+
Warning
Attempting to use an invalid component type results in a compilation error. Attempting to use an entity that doesn't belong to the group results in undefined behavior.
Template Parameters
iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::find iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::find ( const entity_type  entt)
decltype(auto) entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::get ([[maybe_unused] ] const entity_type const entity_type  entt) const
@@ -633,7 +610,39 @@ template<typename... Component>
Returns
The components assigned to the entity.
-

Definition at line 991 of file group.hpp.

+

Definition at line 841 of file group.hpp.

+ + + + +

◆ operator bool()

+ +
+
+
+template<typename Entity , typename... Exclude, typename... Get, typename... Owned>
+
ComponentTypes of components to get.
+ + + + +
+ + + + + + + +
entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::operator bool () const
+
+inlineexplicitnoexcept
+
+ +

Checks if a group is properly initialized.

+
Returns
True if the group is properly initialized, false otherwise.
+ +

Definition at line 812 of file group.hpp.

@@ -672,41 +681,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename...
Returns
The identifier that occupies the given position.
-

Definition at line 960 of file group.hpp.

- - - - -

◆ proxy()

- -
-
-
-template<typename Entity , typename... Exclude, typename... Get, typename... Owned>
- - - - - -
- - - - - - - -
auto entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::proxy () const
-
-inlinenoexcept
-
- -

Returns an iterable object to use to visit the group.

-

The iterable object returns tuples that contain the current entity and a set of references to its non-empty components. The constness of the components is as requested.

-
Note
Empty types aren't explicitly instantiated and therefore they are never returned during iterations.
-
Returns
An iterable object to use to visit the group.
- -

Definition at line 1043 of file group.hpp.

+

Definition at line 804 of file group.hpp.

@@ -738,9 +713,9 @@ template<typename Component >

Direct access to the list of components of a given pool.

-

The returned pointer is such that range [raw<Component>(), raw<Component>() + size<Component>()] is always a valid range, even if the container is empty.
- Moreover, in case the group owns the given component, the range [raw<Component>(), raw<Component>() + size()] is such that it contains the instances that are part of the group itself.

-
Note
Components are in the reverse order as returned by the begin/end iterators.
+

The returned pointer is such that range [raw<Component>(), raw<Component>() + size()) is always a valid range, even if the container is empty.
+

+
Warning
This function is only available for owned types.
Template Parameters
@@ -749,7 +724,7 @@ template<typename Component >
Returns
A pointer to the array of components.
-

Definition at line 813 of file group.hpp.

+

Definition at line 697 of file group.hpp.

@@ -765,7 +740,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename... @@ -969,7 +902,7 @@ template<typename... Component, typename Compare , typename Sort = std_sort, -

Definition at line 1085 of file group.hpp.

+

Definition at line 941 of file group.hpp.

@@ -977,7 +910,7 @@ template<typename... Component, typename Compare , typename Sort = std_sort,
  • src/entt/entity/group.hpp
  • - + @@ -74,32 +74,31 @@ $(function() {

    This is the complete list of members for entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >, including all inherited members.

    ComponentType of component in which one is interested.
    - + @@ -780,10 +755,9 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

    Returns an iterator to the first entity of the reversed group.

    The returned iterator points to the first entity of the reversed group. If the group is empty, the returned iterator will be equal to rend().

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the first entity of the reversed group.
    -

    Definition at line 901 of file group.hpp.

    +

    Definition at line 749 of file group.hpp.

    @@ -799,7 +773,7 @@ template<typename Entity , typename... Exclude, typename... Get, typename... - +
    reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::rbegin reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::rbegin ( ) const - + @@ -814,55 +788,14 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

    Returns an iterator that is past the last entity of the reversed group.

    The returned iterator points to the entity following the last entity of the reversed group. Attempting to dereference the returned iterator results in undefined behavior.

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the entity following the last entity of the reversed group.
    -

    Definition at line 920 of file group.hpp.

    - - - - -

    ◆ size() [1/2]

    - -
    -
    -
    -template<typename Entity , typename... Exclude, typename... Get, typename... Owned>
    -
    -template<typename Component >
    -
    reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::rend reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::rend ( ) const
    - - - - -
    - - - - - - - -
    size_type entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >::size () const
    -
    -inlinenoexcept
    -
    - -

    Returns the number of existing components of the given type.

    -
    Template Parameters
    - - -
    ComponentType of component of which to return the size.
    -
    -
    -
    Returns
    Number of existing components of the given type.
    - -

    Definition at line 769 of file group.hpp.

    +

    Definition at line 764 of file group.hpp.

    -

    ◆ size() [2/2]

    +

    ◆ size()

    @@ -889,12 +822,12 @@ template<typename Entity , typename... Exclude, typename... Get, typename...

    Returns the number of entities that have the given components.

    Returns
    Number of entities that have the given components.
    -

    Definition at line 777 of file group.hpp.

    +

    Definition at line 671 of file group.hpp.

    - -

    ◆ sort()

    + +

    ◆ sort()

    @@ -927,7 +860,7 @@ template<typename... Component, typename Compare , typename Sort = std_sort,
    ) const
    EnTT -  3.5.2 +  3.6.0
    - - - - - + + + + + - - - - - - - + + + + + + + + + - - - + - - - - - + + + +
    back() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    basic_registry< Entity > classentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >friend
    begin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    capacity() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    contains(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    data() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    basic_group() noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    basic_registry< Entity > classentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >friend
    begin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    capacity() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    contains(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    data() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    each(Func func) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    empty() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    end() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    entity_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    find(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    front() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    get([[maybe_unused]] const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    each() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    empty() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    end() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    entity_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    find(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    front() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    get(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    operator bool() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inlineexplicit
    operator[](const size_type pos) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    proxy() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    raw() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    rbegin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    rend() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    reverse_iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    reverse_iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    shrink_to_fit()entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    size() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    size() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    size_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    sort(Compare compare, Sort algo=Sort{}, Args &&... args)entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    sort() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    size() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    size_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
    sort(Compare compare, Sort algo=Sort{}, Args &&... args)entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    sort() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >inline
    EnTT -  3.5.2 +  3.6.0
    size_type = std::size_t
     Unsigned integer type.
     
    -using iterator = typename sparse_set< Entity >::iterator
     Random access iterator type.
     
    -using reverse_iterator = typename sparse_set< Entity >::reverse_iterator
     Reversed iterator type.
     
    +using iterator = typename basic_sparse_set< Entity >::iterator
     Random access iterator type.
     
    +using reverse_iterator = typename basic_sparse_set< Entity >::reverse_iterator
     Reversed iterator type.
     
    - - - - + + + @@ -117,31 +117,22 @@ Public Member Functions void  - - - - - - - - - - - - + + + - + - + - + - + @@ -150,26 +141,29 @@ void  - + + + + - - - - + + + + - - - + + + @@ -242,7 +236,7 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns the last entity of the group, if any.

    Returns
    The last entity of the group if one exists, the null entity otherwise.
    -

    Definition at line 370 of file group.hpp.

    +

    Definition at line 283 of file group.hpp.

    @@ -258,7 +252,7 @@ template<typename Entity , typename... Exclude, typename... Get> @@ -124,6 +124,9 @@ constexpr  +inlinestaticconstexprnoexcept

    Public Member Functions

    template<typename Component >
    size_type size () const noexcept
     Returns the number of existing components of the given type. More...
     
    + basic_group () noexcept
     Default constructor to use to create empty, invalid groups.
     
    size_type size () const noexcept
     Returns the number of entities that have the given components. More...
     
    shrink_to_fit ()
     Requests the removal of unused capacity.
     
    template<typename... Component>
    bool empty () const noexcept
     Checks whether a group or some pools are empty. More...
     
    template<typename Component >
    Component * raw () const noexcept
     Direct access to the list of components of a given pool. More...
     
    template<typename Component >
    const entity_type * data () const noexcept
     Direct access to the list of entities of a given pool. More...
     
    bool empty () const noexcept
     Checks whether a group is empty. More...
     
    const entity_type * data () const noexcept
     Direct access to the list of entities. More...
     
    iterator begin () const noexcept
    iterator begin () const noexcept
     Returns an iterator to the first entity of the group. More...
     
    iterator end () const noexcept
    iterator end () const noexcept
     Returns an iterator that is past the last entity of the group. More...
     
    reverse_iterator rbegin () const noexcept
    reverse_iterator rbegin () const noexcept
     Returns an iterator to the first entity of the reversed group. More...
     
    reverse_iterator rend () const noexcept
    reverse_iterator rend () const noexcept
     Returns an iterator that is past the last entity of the reversed group. More...
     
    entity_type front () const
    entity_type back () const
     Returns the last entity of the group, if any. More...
     
    iterator find (const entity_type entt) const
    iterator find (const entity_type entt) const
     Finds an entity. More...
     
    entity_type operator[] (const size_type pos) const
     Returns the identifier that occupies the given position. More...
     
     operator bool () const noexcept
     Checks if a group is properly initialized. More...
     
    bool contains (const entity_type entt) const
     Checks if a group contains an entity. More...
     
    template<typename... Component>
    decltype(auto) get ([[maybe_unused]] const entity_type entt) const
     Returns the components assigned to the given entity. More...
     
    template<typename... Component>
    decltype(auto) get (const entity_type entt) const
     Returns the components assigned to the given entity. More...
     
    template<typename Func >
    void each (Func func) const
     Iterates entities and components and applies the given function object to them. More...
     
    auto proxy () const noexcept
     Returns an iterable object to use to visit the group. More...
     
    iterable_group each () const noexcept
     Returns an iterable object to use to visit the group. More...
     
    template<typename... Component, typename Compare , typename Sort = std_sort, typename... Args>
    void sort (Compare compare, Sort algo=Sort{}, Args &&... args)
     Sort a group according to the given comparison function. More...
    - + @@ -273,10 +267,9 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns an iterator to the first entity of the group.

    The returned iterator points to the first entity of the group. If the group is empty, the returned iterator will be equal to end().

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the first entity of the group.
    -

    Definition at line 298 of file group.hpp.

    +

    Definition at line 223 of file group.hpp.

    @@ -308,7 +301,7 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns the number of elements that a group has currently allocated space for.

    Returns
    Capacity of the group.
    -

    Definition at line 209 of file group.hpp.

    +

    Definition at line 184 of file group.hpp.

    @@ -347,54 +340,12 @@ template<typename Entity , typename... Exclude, typename... Get>
    Returns
    True if the group contains the given entity, false otherwise.
    -

    Definition at line 400 of file group.hpp.

    - - - - -

    ◆ data() [1/2]

    - -
    -
    -
    -template<typename Entity , typename... Exclude, typename... Get>
    -
    -template<typename Component >
    -
    iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::begin iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::begin ( ) const
    - - - - -
    - - - - - - - -
    const entity_type* entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::data () const
    -
    -inlinenoexcept
    -
    - -

    Direct access to the list of entities of a given pool.

    -

    The returned pointer is such that range [data<Component>(), data<Component>() + size<Component>()] is always a valid range, even if the container is empty.

    -
    Note
    Entities are in the reverse order as returned by the begin/end iterators.
    -
    Template Parameters
    - - -
    ComponentType of component in which one is interested.
    -
    -
    -
    Returns
    A pointer to the array of entities.
    - -

    Definition at line 266 of file group.hpp.

    +

    Definition at line 321 of file group.hpp.

    -

    ◆ data() [2/2]

    +

    ◆ data()

    @@ -419,16 +370,49 @@ template<typename Entity , typename... Exclude, typename... Get>

    Direct access to the list of entities.

    -

    The returned pointer is such that range [data(), data() + size()] is always a valid range, even if the container is empty.

    -
    Note
    Entities are in the reverse order as returned by the begin/end iterators.
    +

    The returned pointer is such that range [data(), data() + size()) is always a valid range, even if the container is empty.

    Returns
    A pointer to the array of entities.
    -

    Definition at line 282 of file group.hpp.

    +

    Definition at line 211 of file group.hpp.

    + +
    + + +

    ◆ each() [1/2]

    + +
    +
    +
    +template<typename Entity , typename... Exclude, typename... Get>
    + + + + + +
    + + + + + + + +
    iterable_group entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::each () const
    +
    +inlinenoexcept
    +
    + +

    Returns an iterable object to use to visit the group.

    +

    The iterable object returns tuples that contain the current entity and a set of references to its non-empty components. The constness of the components is as requested.

    +
    Note
    Empty types aren't explicitly instantiated and therefore they are never returned during iterations.
    +
    Returns
    An iterable object to use to visit the group.
    + +

    Definition at line 399 of file group.hpp.

    -

    ◆ each()

    +

    ◆ each() [2/2]

    @@ -474,19 +458,17 @@ template<typename Func >
    -

    Definition at line 455 of file group.hpp.

    +

    Definition at line 376 of file group.hpp.

    - -

    ◆ empty()

    + +

    ◆ empty()

    template<typename Entity , typename... Exclude, typename... Get>
    -
    -template<typename... Component>
    @@ -505,16 +487,10 @@ template<typename... Component>
    -

    Checks whether a group or some pools are empty.

    -
    Template Parameters
    - - -
    ComponentTypes of components in which one is interested.
    -
    -
    -
    Returns
    True if the group or the pools are empty, false otherwise.
    +

    Checks whether a group is empty.

    +
    Returns
    True if the group is empty, false otherwise.
    -

    Definition at line 224 of file group.hpp.

    +

    Definition at line 199 of file group.hpp.

    @@ -530,7 +506,7 @@ template<typename Entity , typename... Exclude, typename... Get>
    - + @@ -545,10 +521,9 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns an iterator that is past the last entity of the group.

    The returned iterator points to the entity following the last entity of the group. Attempting to dereference the returned iterator results in undefined behavior.

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the entity following the last entity of the group.
    -

    Definition at line 316 of file group.hpp.

    +

    Definition at line 237 of file group.hpp.

    @@ -564,7 +539,7 @@ template<typename Entity , typename... Exclude, typename... Get> @@ -81,9 +81,9 @@ $(function() { - - - + + +
    iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::end iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::end ( ) const - + @@ -587,7 +562,7 @@ template<typename Entity , typename... Exclude, typename... Get>
    Returns
    An iterator to the given entity if it's found, past the end iterator otherwise.
    -

    Definition at line 381 of file group.hpp.

    +

    Definition at line 294 of file group.hpp.

    @@ -619,12 +594,12 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns the first entity of the group, if any.

    Returns
    The first entity of the group if one exists, the null entity otherwise.
    -

    Definition at line 360 of file group.hpp.

    +

    Definition at line 273 of file group.hpp.

    - -

    ◆ get()

    + +

    ◆ get()

    @@ -639,7 +614,7 @@ template<typename... Component>
    - + @@ -653,8 +628,7 @@ template<typename... Component>

    Returns the components assigned to the given entity.

    Prefer this function instead of registry::get during iterations. It has far better performance than its counterpart.

    -
    Warning
    Attempting to use an invalid component type results in a compilation error. Attempting to use an entity that doesn't belong to the group results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode if the group doesn't contain the given entity.
    +
    Warning
    Attempting to use an invalid component type results in a compilation error. Attempting to use an entity that doesn't belong to the group results in undefined behavior.
    Template Parameters
    iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::find iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::find ( const entity_type  entt)
    decltype(auto) entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::get ([[maybe_unused] ] const entity_type const entity_type  entt) const
    @@ -669,7 +643,39 @@ template<typename... Component>
    Returns
    The components assigned to the entity.
    -

    Definition at line 422 of file group.hpp.

    +

    Definition at line 341 of file group.hpp.

    + + + + +

    ◆ operator bool()

    + +
    +
    +
    +template<typename Entity , typename... Exclude, typename... Get>
    +
    ComponentTypes of components to get.
    + + + + +
    + + + + + + + +
    entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::operator bool () const
    +
    +inlineexplicitnoexcept
    +
    + +

    Checks if a group is properly initialized.

    +
    Returns
    True if the group is properly initialized, false otherwise.
    + +

    Definition at line 312 of file group.hpp.

    @@ -708,83 +714,7 @@ template<typename Entity , typename... Exclude, typename... Get>
    Returns
    The identifier that occupies the given position.
    -

    Definition at line 391 of file group.hpp.

    - - - - -

    ◆ proxy()

    - -
    -
    -
    -template<typename Entity , typename... Exclude, typename... Get>
    - - - - - -
    - - - - - - - -
    auto entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::proxy () const
    -
    -inlinenoexcept
    -
    - -

    Returns an iterable object to use to visit the group.

    -

    The iterable object returns tuples that contain the current entity and a set of references to its non-empty components. The constness of the components is as requested.

    -
    Note
    Empty types aren't explicitly instantiated and therefore they are never returned during iterations.
    -
    Returns
    An iterable object to use to visit the group.
    - -

    Definition at line 473 of file group.hpp.

    - -
    -
    - -

    ◆ raw()

    - -
    -
    -
    -template<typename Entity , typename... Exclude, typename... Get>
    -
    -template<typename Component >
    - - - - - -
    - - - - - - - -
    Component* entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::raw () const
    -
    -inlinenoexcept
    -
    - -

    Direct access to the list of components of a given pool.

    -

    The returned pointer is such that range [raw<Component>(), raw<Component>() + size<Component>()] is always a valid range, even if the container is empty.

    -
    Note
    Components are in the reverse order as returned by the begin/end iterators.
    -
    Template Parameters
    - - -
    ComponentType of component in which one is interested.
    -
    -
    -
    Returns
    A pointer to the array of components.
    - -

    Definition at line 247 of file group.hpp.

    +

    Definition at line 304 of file group.hpp.

    @@ -800,7 +730,7 @@ template<typename Entity , typename... Exclude, typename... Get>
    - + @@ -815,10 +745,9 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns an iterator to the first entity of the reversed group.

    The returned iterator points to the first entity of the reversed group. If the group is empty, the returned iterator will be equal to rend().

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the first entity of the reversed group.
    -

    Definition at line 332 of file group.hpp.

    +

    Definition at line 249 of file group.hpp.

    @@ -834,7 +763,7 @@ template<typename Entity , typename... Exclude, typename... Get> @@ -74,29 +74,29 @@ $(function() {

    This is the complete list of members for entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >, including all inherited members.

    reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::rbegin reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::rbegin ( ) const - + @@ -849,55 +778,14 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns an iterator that is past the last entity of the reversed group.

    The returned iterator points to the entity following the last entity of the reversed group. Attempting to dereference the returned iterator results in undefined behavior.

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the entity following the last entity of the reversed group.
    -

    Definition at line 351 of file group.hpp.

    - - - - -

    ◆ size() [1/2]

    - -
    -
    -
    -template<typename Entity , typename... Exclude, typename... Get>
    -
    -template<typename Component >
    -
    reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::rend reverse_iterator entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::rend ( ) const
    - - - - -
    - - - - - - - -
    size_type entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >::size () const
    -
    -inlinenoexcept
    -
    - -

    Returns the number of existing components of the given type.

    -
    Template Parameters
    - - -
    ComponentType of component of which to return the size.
    -
    -
    -
    Returns
    Number of existing components of the given type.
    - -

    Definition at line 192 of file group.hpp.

    +

    Definition at line 264 of file group.hpp.

    -

    ◆ size() [2/2]

    +

    ◆ size()

    @@ -924,7 +812,7 @@ template<typename Entity , typename... Exclude, typename... Get>

    Returns the number of entities that have the given components.

    Returns
    Number of entities that have the given components.
    -

    Definition at line 200 of file group.hpp.

    +

    Definition at line 175 of file group.hpp.

    @@ -965,7 +853,7 @@ template<typename Component > -

    Definition at line 546 of file group.hpp.

    +

    Definition at line 474 of file group.hpp.

    @@ -1045,7 +933,7 @@ template<typename... Component, typename Compare , typename Sort = std_sort, -

    Definition at line 514 of file group.hpp.

    +

    Definition at line 440 of file group.hpp.

    @@ -1053,7 +941,7 @@ template<typename... Component, typename Compare , typename Sort = std_sort,
  • src/entt/entity/group.hpp
  • - +
    EnTT -  3.5.2 +  3.6.0
    - - - - + + + + - - - - - - - + + + + + + + + + - - - - - - + + + + - +
    back() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    basic_registry< Entity > classentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >friend
    begin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    contains(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    data() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    basic_group() noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    basic_registry< Entity > classentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >friend
    begin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    contains(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    data() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    each(Func func) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    empty() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    end() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    entity_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    find(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    front() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    get([[maybe_unused]] const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    each() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    empty() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    end() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    entity_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    find(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    front() constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    get(const entity_type entt) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    operator bool() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inlineexplicit
    operator[](const size_type pos) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    proxy() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    raw() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    rbegin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    rend() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    reverse_iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    size() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    raw() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    rbegin() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    rend() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    reverse_iterator typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    size() const noexceptentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    size_type typedefentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
    sort(Compare compare, Sort algo=Sort{}, Args &&... args)entt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    sort(Compare compare, Sort algo=Sort{}, Args &&... args) constentt::basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >inline
    EnTT -  3.5.2 +  3.6.0
    operator const value_type *() const noexceptentt::basic_hashed_string< Char >inline
    operator hash_type() const noexceptentt::basic_hashed_string< Char >inline
    operator==(const basic_hashed_string &other) const noexceptentt::basic_hashed_string< Char >inline
    value(const value_type(&str)[N]) noexceptentt::basic_hashed_string< Char >inlinestatic
    value(const_wrapper wrapper) noexceptentt::basic_hashed_string< Char >inlinestatic
    value(const value_type *str, std::size_t size) noexceptentt::basic_hashed_string< Char >inlinestatic
    value(const value_type *str, std::size_t size) noexceptentt::basic_hashed_string< Char >inlinestatic
    value(const value_type(&str)[N]) noexceptentt::basic_hashed_string< Char >inlinestatic
    value(const_wrapper wrapper) noexceptentt::basic_hashed_string< Char >inlinestatic
    value() const noexceptentt::basic_hashed_string< Char >inline
    value_type typedefentt::basic_hashed_string< Char >
    diff --git a/classentt_1_1basic__hashed__string.html b/classentt_1_1basic__hashed__string.html index de3d099fb..fbf088859 100644 --- a/classentt_1_1basic__hashed__string.html +++ b/classentt_1_1basic__hashed__string.html @@ -22,7 +22,7 @@
    EnTT -  3.5.2 +  3.6.0
    + + + @@ -131,9 +134,6 @@ Static Public Member Functions - - -

    Static Public Member Functions

    static constexpr hash_type value (const value_type *str, std::size_t size) noexcept
     Returns directly the numeric representation of a string view. More...
     
    template<std::size_t N>
    static constexpr hash_type value (const value_type(&str)[N]) noexcept
     Returns directly the numeric representation of a string. More...
    static hash_type value (const_wrapper wrapper) noexcept
     Returns directly the numeric representation of a string. More...
     
    static hash_type value (const value_type *str, std::size_t size) noexcept
     Returns directly the numeric representation of a string view. More...
     

    Detailed Description

    template<typename Char>
    @@ -405,8 +405,8 @@ template<typename Char >

    - -

    ◆ value() [2/4]

    + +

    ◆ value() [2/4]

    @@ -417,7 +417,7 @@ template<typename Char >
    - + @@ -436,7 +436,7 @@ template<typename Char >
    static hash_type entt::basic_hashed_string< Char >::value static constexpr hash_type entt::basic_hashed_string< Char >::value ( const value_type *  str,
    -inlinestaticnoexcept
    @@ -451,7 +451,7 @@ template<typename Char >
    Returns
    The numeric representation of the string.
    -

    Definition at line 125 of file hashed_string.hpp.

    +

    Definition at line 96 of file hashed_string.hpp.

    @@ -500,7 +500,7 @@ template<std::size_t N>
    Returns
    The numeric representation of the string.
    -

    Definition at line 106 of file hashed_string.hpp.

    +

    Definition at line 118 of file hashed_string.hpp.

    @@ -539,7 +539,7 @@ template<typename Char >
    Returns
    The numeric representation of the string.
    -

    Definition at line 115 of file hashed_string.hpp.

    +

    Definition at line 127 of file hashed_string.hpp.

    diff --git a/classentt_1_1basic__observer-members.html b/classentt_1_1basic__observer-members.html index 461d97565..ff8ae32cf 100644 --- a/classentt_1_1basic__observer-members.html +++ b/classentt_1_1basic__observer-members.html @@ -22,7 +22,7 @@
    EnTT -  3.5.2 +  3.6.0
    empty() const noexceptentt::basic_observer< Entity >inline
    end() const noexceptentt::basic_observer< Entity >inline
    entity_type typedefentt::basic_observer< Entity >
    iterator typedefentt::basic_observer< Entity >
    iterator typedefentt::basic_observer< Entity >
    operator=(const basic_observer &)=deleteentt::basic_observer< Entity >
    operator=(basic_observer &&)=deleteentt::basic_observer< Entity >
    size() const noexceptentt::basic_observer< Entity >inline
    EnTT -  3.5.2 +  3.6.0
    size_type = std::size_t
     Unsigned integer type.
     
    -using iterator = typename sparse_set< Entity >::iterator
     Random access iterator type.
     
    +using iterator = typename basic_sparse_set< Entity >::iterator
     Random access iterator type.
     
    @@ -141,10 +141,10 @@ void  - + - + @@ -96,6 +96,10 @@ using  + + +

    Public Member Functions

    const entity_type * data () const noexcept
     Direct access to the list of entities of the observer. More...
     
    iterator begin () const noexcept
    iterator begin () const noexcept
     Returns an iterator to the first entity of the observer. More...
     
    iterator end () const noexcept
    iterator end () const noexcept
     Returns an iterator that is past the last entity of the observer. More...
     
    @@ -191,7 +191,7 @@ class entt::basic_observer< Entity > -

    Definition at line 171 of file observer.hpp.

    +

    Definition at line 172 of file observer.hpp.

    Constructor & Destructor Documentation

    ◆ basic_observer()

    @@ -245,7 +245,7 @@ template<typename... Matcher> -

    Definition at line 296 of file observer.hpp.

    +

    Definition at line 298 of file observer.hpp.

    @@ -262,7 +262,7 @@ template<typename Entity >
    - + @@ -279,7 +279,7 @@ template<typename Entity >

    The returned iterator points to the first entity of the observer. If the container is empty, the returned iterator will be equal to end().

    Returns
    An iterator to the first entity of the observer.
    -

    Definition at line 380 of file observer.hpp.

    +

    Definition at line 379 of file observer.hpp.

    @@ -365,11 +365,11 @@ template<typename Entity >

    Direct access to the list of entities of the observer.

    -

    The returned pointer is such that range [data(), data() + size()] is always a valid range, even if the container is empty.

    +

    The returned pointer is such that range [data(), data() + size()) is always a valid range, even if the container is empty.

    Note
    Entities are in the reverse order as returned by the begin/end iterators.
    Returns
    A pointer to the array of entities.
    -

    Definition at line 368 of file observer.hpp.

    +

    Definition at line 367 of file observer.hpp.

    @@ -416,7 +416,7 @@ template<typename Func > -

    Definition at line 433 of file observer.hpp.

    +

    Definition at line 432 of file observer.hpp.

    @@ -465,7 +465,7 @@ template<typename Func > -

    Definition at line 417 of file observer.hpp.

    +

    Definition at line 416 of file observer.hpp.

    @@ -497,7 +497,7 @@ template<typename Entity >

    Checks whether an observer is empty.

    Returns
    True if the observer is empty, false otherwise.
    -

    Definition at line 352 of file observer.hpp.

    +

    Definition at line 351 of file observer.hpp.

    @@ -513,7 +513,7 @@ template<typename Entity > @@ -75,7 +75,7 @@ $(function() {
    iterator entt::basic_observer< Entity >::begin iterator entt::basic_observer< Entity >::begin ( ) const - + @@ -530,7 +530,7 @@ template<typename Entity >

    The returned iterator points to the entity following the last entity of the observer. Attempting to dereference the returned iterator results in undefined behavior.

    Returns
    An iterator to the entity following the last entity of the observer.
    -

    Definition at line 394 of file observer.hpp.

    +

    Definition at line 393 of file observer.hpp.

    @@ -624,7 +624,7 @@ template<typename Entity >

    Returns the number of elements in an observer.

    Returns
    Number of elements.
    -

    Definition at line 344 of file observer.hpp.

    +

    Definition at line 343 of file observer.hpp.

    @@ -633,7 +633,7 @@ template<typename Entity >
  • src/entt/entity/observer.hpp
  • -
    Entity entity_type
    Underlying entity identifier.
    Definition: observer.hpp:274
    +
    Entity entity_type
    Underlying entity identifier.
    Definition: observer.hpp:275
    iterator entt::basic_observer< Entity >::end iterator entt::basic_observer< Entity >::end ( ) const
    + + + + + +
    +
    EnTT +  3.6.0 +
    +
    + + + + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    entt::basic_organizer< Entity > Member List
    +
    +
    + +

    This is the complete list of members for entt::basic_organizer< Entity >, including all inherited members.

    + + + + + + + + + +
    clear()entt::basic_organizer< Entity >inline
    emplace(const char *name=nullptr)entt::basic_organizer< Entity >inline
    emplace(Type &value_or_instance, const char *name=nullptr)entt::basic_organizer< Entity >inline
    emplace(function_type *func, const void *payload=nullptr, const char *name=nullptr)entt::basic_organizer< Entity >inline
    entity_type typedefentt::basic_organizer< Entity >
    function_type typedefentt::basic_organizer< Entity >
    graph()entt::basic_organizer< Entity >inline
    size_type typedefentt::basic_organizer< Entity >
    + + + + diff --git a/classentt_1_1basic__organizer.html b/classentt_1_1basic__organizer.html new file mode 100644 index 000000000..94f6760f5 --- /dev/null +++ b/classentt_1_1basic__organizer.html @@ -0,0 +1,355 @@ + + + + + + + +EnTT: entt::basic_organizer< Entity > Class Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    EnTT +  3.6.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    entt::basic_organizer< Entity > Class Template Reference
    +
    +
    + +

    Utility class for creating a static task graph. + More...

    + +

    #include <organizer.hpp>

    + + + + + +

    +Classes

    struct  vertex
     Vertex type of a task graph defined as an adjacency list. More...
     
    + + + + + + + + + + +

    +Public Types

    +using entity_type = Entity
     Underlying entity identifier.
     
    +using size_type = std::size_t
     Unsigned integer type.
     
    +using function_type = callback_type
     Raw task function type.
     
    + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    template<auto Candidate, typename... Req>
    void emplace (const char *name=nullptr)
     Adds a free function to the task list. More...
     
    template<auto Candidate, typename... Req, typename Type >
    void emplace (Type &value_or_instance, const char *name=nullptr)
     Adds a free function with payload or a member function with an instance to the task list. More...
     
    template<typename... Req>
    void emplace (function_type *func, const void *payload=nullptr, const char *name=nullptr)
     Adds an user defined function with optional payload to the task list. More...
     
    std::vector< vertex > graph ()
     Generates a task graph for the current content. More...
     
    +void clear ()
     Erases all elements from a container.
     
    +

    Detailed Description

    +

    template<typename Entity>
    +class entt::basic_organizer< Entity >

    + +

    Utility class for creating a static task graph.

    +

    This class offers minimal support (but sufficient in many cases) for creating an execution graph from functions and their requirements on resources.
    + Note that the resulting tasks aren't executed in any case. This isn't the goal of the tool. Instead, they are returned to the user in the form of a graph that allows for safe execution.

    +
    Template Parameters
    + + +
    EntityA valid entity type (see entt_traits for more details).
    +
    +
    + +

    Definition at line 125 of file organizer.hpp.

    +

    Member Function Documentation

    + +

    ◆ emplace() [1/3]

    + +
    +
    +
    +template<typename Entity >
    +
    +template<auto Candidate, typename... Req>
    + + + + + +
    + + + + + + + + +
    void entt::basic_organizer< Entity >::emplace (const char * name = nullptr)
    +
    +inline
    +
    + +

    Adds a free function to the task list.

    +
    Template Parameters
    + + + +
    CandidateFunction to add to the task list.
    ReqAdditional requirements and/or override resource access mode.
    +
    +
    +
    Parameters
    + + +
    nameOptional name to associate with the task.
    +
    +
    + +

    Definition at line 376 of file organizer.hpp.

    + +
    +
    + +

    ◆ emplace() [2/3]

    + +
    +
    +
    +template<typename Entity >
    +
    +template<typename... Req>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void entt::basic_organizer< Entity >::emplace (function_type * func,
    const void * payload = nullptr,
    const char * name = nullptr 
    )
    +
    +inline
    +
    + +

    Adds an user defined function with optional payload to the task list.

    +
    Template Parameters
    + + +
    ReqAdditional requirements and/or override resource access mode.
    +
    +
    +
    Parameters
    + + + + +
    funcFunction to add to the task list.
    payloadUser defined arbitrary data.
    nameOptional name to associate with the task.
    +
    +
    + +

    Definition at line 444 of file organizer.hpp.

    + +
    +
    + +

    ◆ emplace() [3/3]

    + +
    +
    +
    +template<typename Entity >
    +
    +template<auto Candidate, typename... Req, typename Type >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void entt::basic_organizer< Entity >::emplace (Type & value_or_instance,
    const char * name = nullptr 
    )
    +
    +inline
    +
    + +

    Adds a free function with payload or a member function with an instance to the task list.

    +
    Template Parameters
    + + + + +
    CandidateFunction or member to add to the task list.
    ReqAdditional requirements and/or override resource access mode.
    TypeType of class or type of payload.
    +
    +
    +
    Parameters
    + + + +
    value_or_instanceA valid object that fits the purpose.
    nameOptional name to associate with the task.
    +
    +
    + +

    Definition at line 408 of file organizer.hpp.

    + +
    +
    + +

    ◆ graph()

    + +
    +
    +
    +template<typename Entity >
    + + + + + +
    + + + + + + + +
    std::vector<vertex> entt::basic_organizer< Entity >::graph ()
    +
    +inline
    +
    + +

    Generates a task graph for the current content.

    +
    Returns
    The adjacency list of the task graph.
    + +

    Definition at line 466 of file organizer.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following files: +
    + + + + diff --git a/classentt_1_1basic__registry-members.html b/classentt_1_1basic__registry-members.html index 2133dc433..773631aeb 100644 --- a/classentt_1_1basic__registry-members.html +++ b/classentt_1_1basic__registry-members.html @@ -22,7 +22,7 @@
    EnTT -  3.5.2 +  3.6.0
    - + @@ -94,29 +94,31 @@ $(function() { - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + @@ -126,28 +128,31 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
    alive() constentt::basic_registry< Entity >inline
    any(const entity_type entity) constentt::basic_registry< Entity >inline
    assign(It first, It last)entt::basic_registry< Entity >inline
    assign(It first, It last, const entity_type destroyed)entt::basic_registry< Entity >inline
    basic_registry()=defaultentt::basic_registry< Entity >
    basic_registry(basic_registry &&)=defaultentt::basic_registry< Entity >
    capacity() constentt::basic_registry< Entity >inline
    destroy(const entity_type entity)entt::basic_registry< Entity >inline
    destroy(const entity_type entity, const version_type version)entt::basic_registry< Entity >inline
    destroy(It first, It last)entt::basic_registry< Entity >inline
    each(Func func) constentt::basic_registry< Entity >inline
    emplace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    emplace_or_replace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    empty() constentt::basic_registry< Entity >inline
    entity(const entity_type entity) noexceptentt::basic_registry< Entity >inlinestatic
    entity_type typedefentt::basic_registry< Entity >
    get([[maybe_unused]] const entity_type entity) constentt::basic_registry< Entity >inline
    get([[maybe_unused]] const entity_type entity)entt::basic_registry< Entity >inline
    get_or_emplace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    group(get_t< Get... >, exclude_t< Exclude... >={})entt::basic_registry< Entity >inline
    group(get_t< Get... >, exclude_t< Exclude... >={}) constentt::basic_registry< Entity >inline
    destroyed() const noexceptentt::basic_registry< Entity >inline
    each(Func func) constentt::basic_registry< Entity >inline
    emplace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    emplace_or_replace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    empty() constentt::basic_registry< Entity >inline
    entity(const entity_type entity) noexceptentt::basic_registry< Entity >inlinestatic
    entity_type typedefentt::basic_registry< Entity >
    get([[maybe_unused]] const entity_type entity) constentt::basic_registry< Entity >inline
    get([[maybe_unused]] const entity_type entity)entt::basic_registry< Entity >inline
    get_or_emplace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    group(get_t< Get... >, exclude_t< Exclude... >={})entt::basic_registry< Entity >inline
    group(exclude_t< Exclude... >={})entt::basic_registry< Entity >inline
    group(exclude_t< Exclude... >={}) constentt::basic_registry< Entity >inline
    has(const entity_type entity) constentt::basic_registry< Entity >inline
    insert(It first, It last, const Component &value={})entt::basic_registry< Entity >inline
    insert(EIt first, EIt last, CIt from, CIt to)entt::basic_registry< Entity >inline
    on_construct()entt::basic_registry< Entity >inline
    on_destroy()entt::basic_registry< Entity >inline
    on_update()entt::basic_registry< Entity >inline
    operator=(basic_registry &&)=defaultentt::basic_registry< Entity >
    orphan(const entity_type entity) constentt::basic_registry< Entity >inline
    orphans(Func func) constentt::basic_registry< Entity >inline
    patch(const entity_type entity, Func &&... func)entt::basic_registry< Entity >inline
    group_if_exists(get_t< Get... >, exclude_t< Exclude... >={}) constentt::basic_registry< Entity >inline
    group_if_exists(exclude_t< Exclude... >={}) constentt::basic_registry< Entity >inline
    has(const entity_type entity) constentt::basic_registry< Entity >inline
    insert(It first, It last, const Component &value={})entt::basic_registry< Entity >inline
    insert(EIt first, EIt last, CIt from, CIt to)entt::basic_registry< Entity >inline
    on_construct()entt::basic_registry< Entity >inline
    on_destroy()entt::basic_registry< Entity >inline
    on_update()entt::basic_registry< Entity >inline
    operator=(basic_registry &&)=defaultentt::basic_registry< Entity >
    orphan(const entity_type entity) constentt::basic_registry< Entity >inline
    orphans(Func func) constentt::basic_registry< Entity >inline
    patch(const entity_type entity, Func &&... func)entt::basic_registry< Entity >inline
    poly_storage typedefentt::basic_registry< Entity >
    prepare()entt::basic_registry< Entity >inline
    raw() constentt::basic_registry< Entity >inline
    raw()entt::basic_registry< Entity >inline
    remove_if_exists(const entity_type entity)entt::basic_registry< Entity >inline
    replace(const entity_type entity, Args &&... args)entt::basic_registry< Entity >inline
    reserve(const size_type cap)entt::basic_registry< Entity >inline
    runtime_view(ItComp first, ItComp last, ItExcl from={}, ItExcl to={}) constentt::basic_registry< Entity >inline
    set(Args &&... args)entt::basic_registry< Entity >inline
    shrink_to_fit()entt::basic_registry< Entity >inline
    size() constentt::basic_registry< Entity >inline
    size() const noexceptentt::basic_registry< Entity >inline
    size_type typedefentt::basic_registry< Entity >
    sort(Compare compare, Sort algo=Sort{}, Args &&... args)entt::basic_registry< Entity >inline
    sort()entt::basic_registry< Entity >inline
    sortable() constentt::basic_registry< Entity >inline
    sortable(const basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > &) noexceptentt::basic_registry< Entity >inline
    try_ctx() constentt::basic_registry< Entity >inline
    try_ctx()entt::basic_registry< Entity >inline
    try_get([[maybe_unused]] const entity_type entity) constentt::basic_registry< Entity >inline
    try_get([[maybe_unused]] const entity_type entity)entt::basic_registry< Entity >inline
    unset()entt::basic_registry< Entity >inline
    valid(const entity_type entity) constentt::basic_registry< Entity >inline
    version(const entity_type entity) noexceptentt::basic_registry< Entity >inlinestatic
    version_type typedefentt::basic_registry< Entity >
    view(exclude_t< Exclude... >={}) constentt::basic_registry< Entity >inline
    view(exclude_t< Exclude... >={})entt::basic_registry< Entity >inline
    visit(entity_type entity, Func func) constentt::basic_registry< Entity >inline
    visit(Func func) constentt::basic_registry< Entity >inline
    reserve_pools(const size_t count)entt::basic_registry< Entity >inline
    runtime_view(ItComp first, ItComp last, ItExcl from={}, ItExcl to={}) constentt::basic_registry< Entity >inline
    set(Args &&... args)entt::basic_registry< Entity >inline
    shrink_to_fit()entt::basic_registry< Entity >inline
    size() constentt::basic_registry< Entity >inline
    size() const noexceptentt::basic_registry< Entity >inline
    size_type typedefentt::basic_registry< Entity >
    sort(Compare compare, Sort algo=Sort{}, Args &&... args)entt::basic_registry< Entity >inline
    sort()entt::basic_registry< Entity >inline
    sortable() constentt::basic_registry< Entity >inline
    sortable(const basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > &) noexceptentt::basic_registry< Entity >inline
    storage(const type_info info)entt::basic_registry< Entity >inline
    storage(const type_info info) constentt::basic_registry< Entity >inline
    try_ctx() constentt::basic_registry< Entity >inline
    try_ctx()entt::basic_registry< Entity >inline
    try_get([[maybe_unused]] const entity_type entity) constentt::basic_registry< Entity >inline
    try_get([[maybe_unused]] const entity_type entity)entt::basic_registry< Entity >inline
    unset()entt::basic_registry< Entity >inline
    valid(const entity_type entity) constentt::basic_registry< Entity >inline
    version(const entity_type entity) noexceptentt::basic_registry< Entity >inlinestatic
    version_type typedefentt::basic_registry< Entity >
    view(exclude_t< Exclude... >={}) constentt::basic_registry< Entity >inline
    view(exclude_t< Exclude... >={})entt::basic_registry< Entity >inline
    visit(entity_type entity, Func func) constentt::basic_registry< Entity >inline
    visit(Func func) constentt::basic_registry< Entity >inline
    EnTT -  3.5.2 +  3.6.0
    size_type = std::size_t
     Unsigned integer type.
     
    +using poly_storage = typename poly_storage_traits< Entity >::storage_type
     Poly storage type.
     
    @@ -114,6 +118,12 @@ Public Member Functions + + + + + + @@ -128,6 +138,9 @@ Public Member Functions + + + @@ -158,6 +171,9 @@ Public Member Functions + + + @@ -174,10 +190,10 @@ Public Member Functions - - - - + + + + @@ -298,18 +314,18 @@ Public Member Functions - - - - + + + + - - - - + + + + @@ -328,11 +344,11 @@ Public Member Functions - + - + @@ -364,7 +380,7 @@ Public Member Functions - +

    Public Member Functions

    void prepare ()
     Prepares a pool for the given type if required. More...
     
    poly_storage storage (const type_info info)
     Returns a poly storage for a given type. More...
     
    poly_storage storage (const type_info info) const
     Returns a poly storage for a given type. More...
     
    template<typename Component >
    size_type size () const
     Returns the number of existing components of the given type. More...
    void reserve (const size_type cap)
     Increases the capacity of the registry or of the pools for the given components. More...
     
    void reserve_pools (const size_t count)
     Reserves enough space to store count pools. More...
     
    template<typename Component >
    size_type capacity () const
     Returns the capacity of the pool for the given component. More...
    const entity_type * data () const noexcept
     Direct access to the list of entities of a registry. More...
     
    entity_type destroyed () const noexcept
     Returns the head of the list of destroyed entities. More...
     
    bool valid (const entity_type entity) const
     Checks if an entity identifier refers to a valid entity. More...
     
    void create (It first, It last)
     Assigns each element in a range an entity. More...
     
    template<typename It >
    void assign (It first, It last)
     Assigns entities to an empty registry. More...
     
    template<typename It >
    void assign (It first, It last, const entity_type destroyed)
     Assigns entities to an empty registry. More...
     
    void destroy (const entity_type entity)
     Destroys an entity. More...
     
    basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > group (get_t< Get... >, exclude_t< Exclude... >={})
     Returns a group for the given components. More...
     
    template<typename... Owned, typename... Get, typename... Exclude>
    basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > group (get_t< Get... >, exclude_t< Exclude... >={}) const
     Returns a group for the given components. More...
     
    template<typename... Owned, typename... Get, typename... Exclude>
    basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... > group_if_exists (get_t< Get... >, exclude_t< Exclude... >={}) const
     Returns a group for the given components. More...
     
    template<typename... Owned, typename... Exclude>
    basic_group< Entity, exclude_t< Exclude... >, get_t<>, Owned... > group (exclude_t< Exclude... >={})
     Returns a group for the given components. More...
     
    template<typename... Owned, typename... Exclude>
    basic_group< Entity, exclude_t< Exclude... >, get_t<>, Owned... > group (exclude_t< Exclude... >={}) const
     Returns a group for the given components. More...
     
    template<typename... Owned, typename... Exclude>
    basic_group< Entity, exclude_t< Exclude... >, get_t<>, Owned... > group_if_exists (exclude_t< Exclude... >={}) const
     Returns a group for the given components. More...
     
    template<typename... Component>
    bool sortable () const
     Checks whether the given components belong to any group. More...
     
    template<typename Func >
    void visit (entity_type entity, Func func) const
     Visits an entity and returns the types for its components. More...
     Visits an entity and returns the type info for its components. More...
     
    template<typename Func >
    void visit (Func func) const
     Visits a registry and returns the types for its components. More...
     Visits a registry and returns the type info for its components. More...
     
    template<typename Type , typename... Args>
    Type & set (Args &&... args)
     
    template<typename Func >
    void ctx (Func func) const
     Visits a registry and returns the types for its context variables. More...
     Visits a registry and returns the type info for its context variables. More...
     
    @@ -73,14 +73,13 @@ $(function() {

    This is the complete list of members for entt::basic_snapshot_loader< Entity >, including all inherited members.

    @@ -390,7 +406,7 @@ class entt::basic_registry< Entity >

    -

    Definition at line 43 of file registry.hpp.

    +

    Definition at line 44 of file registry.hpp.

    Member Function Documentation

    ◆ alive()

    @@ -420,7 +436,7 @@ template<typename Entity >

    Returns the number of entities still in use.

    Returns
    Number of entities still in use.
    -

    Definition at line 272 of file registry.hpp.

    +

    Definition at line 221 of file registry.hpp.

    @@ -438,7 +454,7 @@ template<typename... Component>
    - + @@ -453,8 +469,7 @@ template<typename... Component>

    Checks if an entity has at least one of the given components.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    Template Parameters
    bool entt::basic_registry< Entity >::any bool entt::basic_registry< Entity >::any ( const entity_type  entity)
    @@ -469,12 +484,12 @@ template<typename... Component>
    Returns
    True if the entity has at least one of the given components, false otherwise.
    -

    Definition at line 892 of file registry.hpp.

    +

    Definition at line 828 of file registry.hpp.

    - -

    ◆ assign()

    + +

    ◆ assign()

    @@ -496,7 +511,13 @@ template<typename It >
    - + + + + + + + @@ -512,9 +533,9 @@ template<typename It >

    Assigns entities to an empty registry.

    -

    This function is intended for use in conjunction with raw.
    - Don't try to inject ranges of randomly generated entities. There is no guarantee that a registry will continue to work properly in this case.

    -
    Warning
    An assertion will abort the execution at runtime in debug mode if all pools aren't empty.
    +

    This function is intended for use in conjunction with raw and assign.
    + Don't try to inject ranges of randomly generated entities nor the wrong head for the list of destroyed entities. There is no guarantee that a registry will continue to work properly in this case.

    +
    Warning
    All pools must be empty for this to work properly.
    Template Parameters
    ComponentComponents for which to perform the check.
    It last last,
    const entity_type destroyed 
    @@ -525,11 +546,12 @@ template<typename It >
    ItType of input iterator.
    +
    firstAn iterator to the first element of the range of entities.
    lastAn iterator past the last element of the range of entities.
    destroyedThe head of the list of destroyed entities.
    -

    Definition at line 556 of file registry.hpp.

    +

    Definition at line 520 of file registry.hpp.

    @@ -569,7 +591,7 @@ template<typename Component >
    Returns
    Capacity of the pool of the given component.
    -

    Definition at line 311 of file registry.hpp.

    +

    Definition at line 268 of file registry.hpp.

    @@ -601,7 +623,7 @@ template<typename Entity >

    Returns the number of entities that a registry has currently allocated space for.

    Returns
    Capacity of the registry.
    -

    Definition at line 320 of file registry.hpp.

    +

    Definition at line 278 of file registry.hpp.

    @@ -640,7 +662,7 @@ template<typename... Component> -

    Definition at line 1005 of file registry.hpp.

    +

    Definition at line 939 of file registry.hpp.

    @@ -677,7 +699,7 @@ template<typename Entity >
    Returns
    A valid entity identifier.
    -

    Definition at line 473 of file registry.hpp.

    +

    Definition at line 443 of file registry.hpp.

    @@ -718,7 +740,7 @@ template<typename Entity >
    Returns
    A valid entity identifier.
    -

    Definition at line 501 of file registry.hpp.

    +

    Definition at line 458 of file registry.hpp.

    @@ -776,7 +798,7 @@ template<typename It > -

    Definition at line 536 of file registry.hpp.

    +

    Definition at line 492 of file registry.hpp.

    @@ -808,8 +830,7 @@ template<typename Type >

    Returns a reference to an object in the context of the registry.

    -
    Warning
    Attempting to get a context variable that doesn't exist results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid requests.
    +
    Warning
    Attempting to get a context variable that doesn't exist results in undefined behavior.
    Template Parameters
    @@ -818,7 +839,7 @@ template<typename Type >
    Returns
    A valid reference to the object in the context of the registry.
    -

    Definition at line 1674 of file registry.hpp.

    +

    Definition at line 1612 of file registry.hpp.

    @@ -850,8 +871,7 @@ template<typename Type >

    Returns a reference to an object in the context of the registry.

    -
    Warning
    Attempting to get a context variable that doesn't exist results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid requests.
    +
    Warning
    Attempting to get a context variable that doesn't exist results in undefined behavior.
    Template Parameters
    TypeType of object to get.
    @@ -860,7 +880,7 @@ template<typename Type >
    Returns
    A valid reference to the object in the context of the registry.
    -

    Definition at line 1666 of file registry.hpp.

    +

    Definition at line 1604 of file registry.hpp.

    @@ -892,11 +912,11 @@ template<typename Func >
    TypeType of object to get.
    -

    Visits a registry and returns the types for its context variables.

    +

    Visits a registry and returns the type info for its context variables.

    The signature of the function should be equivalent to the following:

    -
    void(const id_type);
    +
    void(const type_info);

    Returned identifiers are those of the context variables currently set.

    -
    See also
    type_info
    +
    See also
    type_info
    Warning
    It's not specified whether a context variable created during the visit is returned or not to the caller.
    Template Parameters
    @@ -911,7 +931,7 @@ template<typename Func > -

    Definition at line 1699 of file registry.hpp.

    +

    Definition at line 1638 of file registry.hpp.

    @@ -960,7 +980,7 @@ template<typename Type , typename... Args>
    Returns
    A reference to the object in the context of the registry.
    -

    Definition at line 1630 of file registry.hpp.

    +

    Definition at line 1570 of file registry.hpp.

    @@ -991,8 +1011,7 @@ template<typename Entity >

    Returns the actual version for an entity identifier.

    -
    Warning
    Attempting to use an entity that doesn't belong to the registry results in undefined behavior. An entity belongs to the registry even if it has been previously destroyed and/or recycled.
    - An assertion will abort the execution at runtime in debug mode if the registry doesn't own the given entity.
    +
    Warning
    Attempting to use an entity that doesn't belong to the registry results in undefined behavior. An entity belongs to the registry even if it has been previously destroyed and/or recycled.
    Parameters
    @@ -1001,7 +1020,7 @@ template<typename Entity >
    Returns
    Actual version for the given entity identifier.
    -

    Definition at line 457 of file registry.hpp.

    +

    Definition at line 427 of file registry.hpp.

    @@ -1033,7 +1052,7 @@ template<typename Component >

    Direct access to the list of entities of a given pool.

    -

    The returned pointer is such that range [data<Component>(), data<Component>() + size<Component>()] is always a valid range, even if the container is empty.

    +

    The returned pointer is such that range [data<Component>(), data<Component>() + size<Component>()) is always a valid range, even if the container is empty.

    Entities are in the reverse order as imposed by the sorting functionalities.

    Template Parameters
    entityA valid entity identifier.
    @@ -1043,7 +1062,7 @@ template<typename Component >
    Returns
    A pointer to the array of entities.
    -

    Definition at line 396 of file registry.hpp.

    +

    Definition at line 355 of file registry.hpp.

    @@ -1073,11 +1092,11 @@ template<typename Entity >

    Direct access to the list of entities of a registry.

    -

    The returned pointer is such that range [data(), data() + size()] is always a valid range, even if the container is empty.

    +

    The returned pointer is such that range [data(), data() + size()) is always a valid range, even if the container is empty.

    Warning
    This list contains both valid and destroyed entities and isn't suitable for direct use.
    Returns
    A pointer to the array of entities.
    -

    Definition at line 412 of file registry.hpp.

    +

    Definition at line 372 of file registry.hpp.

    @@ -1117,7 +1136,7 @@ template<typename Entity > -

    Definition at line 580 of file registry.hpp.

    +

    Definition at line 536 of file registry.hpp.

    @@ -1168,7 +1187,7 @@ template<typename Entity > -

    Definition at line 595 of file registry.hpp.

    +

    Definition at line 551 of file registry.hpp.

    @@ -1226,7 +1245,41 @@ template<typename It > -

    Definition at line 613 of file registry.hpp.

    +

    Definition at line 566 of file registry.hpp.

    + + + + +

    ◆ destroyed()

    + +
    +
    +
    +template<typename Entity >
    +
    + + + + +
    + + + + + + + +
    entity_type entt::basic_registry< Entity >::destroyed () const
    +
    +inlinenoexcept
    +
    + +

    Returns the head of the list of destroyed entities.

    +

    This function is intended for use in conjunction with assign.
    + The returned entity has an invalid identifier in all cases.

    +
    Returns
    The head of the list of destroyed entities.
    + +

    Definition at line 384 of file registry.hpp.

    @@ -1276,7 +1329,7 @@ template<typename Func > -

    Definition at line 1034 of file registry.hpp.

    +

    Definition at line 977 of file registry.hpp.

    @@ -1320,8 +1373,7 @@ template<typename Component , typename... Args>

    Assigns the given component to an entity.

    A new instance of the given component is created and initialized with the arguments provided (the component must have a proper constructor or be of aggregate type). Then the component is assigned to the given entity.

    -
    Warning
    Attempting to use an invalid entity or to assign a component to an entity that already owns it results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity already owns an instance of the given component.
    +
    Warning
    Attempting to use an invalid entity or to assign a component to an entity that already owns it results in undefined behavior.
    Template Parameters
    @@ -1338,7 +1390,7 @@ template<typename Component , typename... Args>
    Returns
    A reference to the newly created component.
    -

    Definition at line 638 of file registry.hpp.

    +

    Definition at line 590 of file registry.hpp.

    @@ -1384,8 +1436,7 @@ template<typename Component , typename... Args>

    Equivalent to the following snippet (pseudocode):

    auto &component = registry.has<Component>(entity) ? registry.replace<Component>(entity, args...) : registry.emplace<Component>(entity, args...);

    Prefer this function anyway because it has slightly better performance.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    Template Parameters
    ComponentType of component to create.
    @@ -1402,7 +1453,7 @@ template<typename Component , typename... Args>
    Returns
    A reference to the newly created component.
    -

    Definition at line 703 of file registry.hpp.

    +

    Definition at line 653 of file registry.hpp.

    @@ -1443,7 +1494,7 @@ template<typename... Component>
    Returns
    True if the registry or the pools of the given components are empty, false otherwise.
    -

    Definition at line 346 of file registry.hpp.

    +

    Definition at line 304 of file registry.hpp.

    @@ -1482,7 +1533,7 @@ template<typename Entity >
    Returns
    The entity identifier without the version.
    -

    Definition at line 431 of file registry.hpp.

    +

    Definition at line 403 of file registry.hpp.

    @@ -1515,8 +1566,7 @@ template<typename... Component>

    Returns references to the given components for an entity.

    -
    Warning
    Attempting to use an invalid entity or to get a component from an entity that doesn't own it results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.
    +
    Warning
    Attempting to use an invalid entity or to get a component from an entity that doesn't own it results in undefined behavior.
    Template Parameters
    ComponentType of component to assign or replace.
    @@ -1531,7 +1581,7 @@ template<typename... Component>
    Returns
    References to the components owned by the entity.
    -

    Definition at line 924 of file registry.hpp.

    +

    Definition at line 857 of file registry.hpp.

    @@ -1564,8 +1614,7 @@ template<typename... Component>

    Returns references to the given components for an entity.

    -
    Warning
    Attempting to use an invalid entity or to get a component from an entity that doesn't own it results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.
    +
    Warning
    Attempting to use an invalid entity or to get a component from an entity that doesn't own it results in undefined behavior.
    Template Parameters
    ComponentTypes of components to get.
    @@ -1580,7 +1629,7 @@ template<typename... Component>
    Returns
    References to the components owned by the entity.
    -

    Definition at line 912 of file registry.hpp.

    +

    Definition at line 845 of file registry.hpp.

    @@ -1627,8 +1676,7 @@ template<typename Component , typename... Args> Equivalent to the following snippet (pseudocode):

    auto &component = registry.has<Component>(entity) ? registry.get<Component>(entity) : registry.emplace<Component>(entity, args...);

    Prefer this function anyway because it has slightly better performance.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    Template Parameters
    ComponentTypes of components to get.
    @@ -1645,12 +1693,12 @@ template<typename Component , typename... Args>
    Returns
    Reference to the component owned by the entity.
    -

    Definition at line 959 of file registry.hpp.

    +

    Definition at line 890 of file registry.hpp.

    -

    ◆ group() [1/4]

    +

    ◆ group() [1/2]

    @@ -1663,7 +1711,7 @@ template<typename... Owned, typename... Exclude>
    @@ -69,7 +69,6 @@ $(function() {
    entt::basic_snapshot< Entity > Class Template Reference
    @@ -112,13 +111,6 @@ Public Member Functions -
    ComponentType of component to get.
    - + @@ -1688,55 +1736,12 @@ template<typename... Owned, typename... Exclude>
    Returns
    A newly created group.
    -

    Definition at line 1390 of file registry.hpp.

    - - - - -

    ◆ group() [2/4]

    - -
    -
    -
    -template<typename Entity >
    -
    -template<typename... Owned, typename... Exclude>
    -
    basic_group<Entity, exclude_t<Exclude...>, get_t<>, Owned...> entt::basic_registry< Entity >::group basic_group<Entity, exclude_t<Exclude...>, get_t<>, Owned...> entt::basic_registry< Entity >::group ( exclude_t< Exclude... >  = {})
    - - - - -
    - - - - - - - - -
    basic_group<Entity, exclude_t<Exclude...>, get_t<>, Owned...> entt::basic_registry< Entity >::group (exclude_t< Exclude... >  = {}) const
    -
    -inline
    -
    - -

    Returns a group for the given components.

    -
    See also
    group
    -
    Template Parameters
    - - - -
    OwnedTypes of components owned by the group.
    ExcludeTypes of components used to filter the group.
    -
    -
    -
    Returns
    A newly created group.
    - -

    Definition at line 1404 of file registry.hpp.

    +

    Definition at line 1336 of file registry.hpp.

    -

    ◆ group() [3/4]

    +

    ◆ group() [2/2]

    @@ -1749,7 +1754,7 @@ template<typename... Owned, typename... Get, typename... Exclude>
    - + @@ -1790,12 +1795,55 @@ template<typename... Owned, typename... Get, typename... Exclude>
    Returns
    A newly created group.
    -

    Definition at line 1281 of file registry.hpp.

    +

    Definition at line 1219 of file registry.hpp.

    - -

    ◆ group() [4/4]

    + +

    ◆ group_if_exists() [1/2]

    + +
    +
    +
    +template<typename Entity >
    +
    +template<typename... Owned, typename... Exclude>
    +
    basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>, Owned...> entt::basic_registry< Entity >::group basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>, Owned...> entt::basic_registry< Entity >::group ( get_t< Get... >  ,
    + + + + +
    + + + + + + + + +
    basic_group<Entity, exclude_t<Exclude...>, get_t<>, Owned...> entt::basic_registry< Entity >::group_if_exists (exclude_t< Exclude... >  = {}) const
    +
    +inline
    +
    + +

    Returns a group for the given components.

    +
    See also
    group_if_exists
    +
    Template Parameters
    + + + +
    OwnedTypes of components owned by the group.
    ExcludeTypes of components used to filter the group.
    +
    +
    +
    Returns
    A newly created group.
    + +

    Definition at line 1350 of file registry.hpp.

    + +
    + + +

    ◆ group_if_exists() [2/2]

    @@ -1808,7 +1856,7 @@ template<typename... Owned, typename... Get, typename... Exclude>
    - + @@ -1844,7 +1892,7 @@ template<typename... Owned, typename... Get, typename... Exclude>
    Returns
    A newly created group.
    -

    Definition at line 1375 of file registry.hpp.

    +

    Definition at line 1309 of file registry.hpp.

    @@ -1877,8 +1925,7 @@ template<typename... Component>

    Checks if an entity has all the given components.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    Template Parameters
    basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>, Owned...> entt::basic_registry< Entity >::group basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>, Owned...> entt::basic_registry< Entity >::group_if_exists ( get_t< Get... >  ,
    @@ -1893,7 +1940,7 @@ template<typename... Component>
    Returns
    True if the entity has all the components, false otherwise.
    -

    Definition at line 873 of file registry.hpp.

    +

    Definition at line 811 of file registry.hpp.

    @@ -1967,7 +2014,7 @@ template<typename Component , typename EIt , typename CIt > -

    Definition at line 674 of file registry.hpp.

    +

    Definition at line 626 of file registry.hpp.

    @@ -2033,7 +2080,7 @@ template<typename Component , typename It > -

    Definition at line 655 of file registry.hpp.

    +

    Definition at line 607 of file registry.hpp.

    @@ -2065,10 +2112,9 @@ template<typename Component >

    Returns a sink object for the given component.

    -

    A sink is an opaque object used to connect listeners to components.
    - The sink returned by this function can be used to receive notifications whenever a new instance of the given component is created and assigned to an entity.

    -

    The function type for a listener is equivalent to:

    -
    void(registry<Entity> &, Entity);
    +

    The sink returned by this function can be used to receive notifications whenever a new instance of the given component is created and assigned to an entity.
    + The function type for a listener is equivalent to:

    +
    void(basic_registry<Entity> &, Entity);

    Listeners are invoked after the component has been assigned to the entity.

    See also
    sink
    Template Parameters
    @@ -2079,7 +2125,7 @@ template<typename Component >
    Returns
    A temporary sink object.
    -

    Definition at line 1106 of file registry.hpp.

    +

    Definition at line 1047 of file registry.hpp.

    @@ -2111,10 +2157,9 @@ template<typename Component >

    Returns a sink object for the given component.

    -

    A sink is an opaque object used to connect listeners to components.
    - The sink returned by this function can be used to receive notifications whenever an instance of the given component is removed from an entity and thus destroyed.

    -

    The function type for a listener is equivalent to:

    -
    void(registry<Entity> &, Entity);
    +

    The sink returned by this function can be used to receive notifications whenever an instance of the given component is removed from an entity and thus destroyed.
    + The function type for a listener is equivalent to:

    +
    void(basic_registry<Entity> &, Entity);

    Listeners are invoked before the component has been removed from the entity.

    See also
    sink
    Template Parameters
    @@ -2125,7 +2170,7 @@ template<typename Component >
    Returns
    A temporary sink object.
    -

    Definition at line 1158 of file registry.hpp.

    +

    Definition at line 1095 of file registry.hpp.

    @@ -2157,10 +2202,9 @@ template<typename Component >

    Returns a sink object for the given component.

    -

    A sink is an opaque object used to connect listeners to components.
    - The sink returned by this function can be used to receive notifications whenever an instance of the given component is explicitly updated.

    -

    The function type for a listener is equivalent to:

    -
    void(registry<Entity> &, Entity);
    +

    The sink returned by this function can be used to receive notifications whenever an instance of the given component is explicitly updated.
    + The function type for a listener is equivalent to:

    +
    void(basic_registry<Entity> &, Entity);

    Listeners are invoked after the component has been updated.

    See also
    sink
    Template Parameters
    @@ -2171,7 +2215,7 @@ template<typename Component >
    Returns
    A temporary sink object.
    -

    Definition at line 1131 of file registry.hpp.

    +

    Definition at line 1070 of file registry.hpp.

    @@ -2241,7 +2285,7 @@ template<typename Entity >
    Returns
    True if the entity has no components assigned, false otherwise.
    -

    Definition at line 1053 of file registry.hpp.

    +

    Definition at line 996 of file registry.hpp.

    @@ -2291,7 +2335,7 @@ template<typename Func > -

    Definition at line 1075 of file registry.hpp.

    +

    Definition at line 1018 of file registry.hpp.

    @@ -2337,8 +2381,7 @@ template<typename Component , typename... Func>

    The signature of the functions should be equivalent to the following:

    void(Component &);
    Note
    Empty types aren't explicitly instantiated and therefore they are never returned. However, this function can be used to trigger an update signal for them.
    -
    Warning
    Attempting to use an invalid entity or to patch a component of an entity that doesn't own it results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.
    +
    Warning
    Attempting to use an invalid entity or to patch a component of an entity that doesn't own it results in undefined behavior.
    Template Parameters
    ComponentComponents for which to perform the check.
    @@ -2355,7 +2398,7 @@ template<typename Component , typename... Func>
    Returns
    A reference to the patched component.
    -

    Definition at line 740 of file registry.hpp.

    +

    Definition at line 687 of file registry.hpp.

    @@ -2394,7 +2437,7 @@ template<typename Component > -

    Definition at line 245 of file registry.hpp.

    +

    Definition at line 177 of file registry.hpp.

    @@ -2426,7 +2469,7 @@ template<typename Component >

    Direct access to the list of components of a given pool.

    -

    The returned pointer is such that range [raw<Component>(), raw<Component>() + size<Component>()] is always a valid range, even if the container is empty.

    +

    The returned pointer is such that range [raw<Component>(), raw<Component>() + size<Component>()) is always a valid range, even if the container is empty.

    Components are in the reverse order as imposed by the sorting functionalities.

    Note
    Empty components aren't explicitly instantiated. Therefore, this function isn't available for them. A compilation error will occur if invoked.
    Template Parameters
    @@ -2437,7 +2480,7 @@ template<typename Component >
    Returns
    A pointer to the array of components of the given type.
    -

    Definition at line 378 of file registry.hpp.

    +

    Definition at line 337 of file registry.hpp.

    @@ -2469,7 +2512,7 @@ template<typename Component >

    Direct access to the list of components of a given pool.

    -

    The returned pointer is such that range [raw<Component>(), raw<Component>() + size<Component>()] is always a valid range, even if the container is empty.

    +

    The returned pointer is such that range [raw<Component>(), raw<Component>() + size<Component>()) is always a valid range, even if the container is empty.

    Components are in the reverse order as imposed by the sorting functionalities.

    Note
    Empty components aren't explicitly instantiated. Therefore, this function isn't available for them. A compilation error will occur if invoked.
    Template Parameters
    @@ -2480,7 +2523,7 @@ template<typename Component >
    Returns
    A pointer to the array of components of the given type.
    -

    Definition at line 372 of file registry.hpp.

    +

    Definition at line 330 of file registry.hpp.

    @@ -2513,8 +2556,7 @@ template<typename... Component>

    Removes the given components from an entity.

    -
    Warning
    Attempting to use an invalid entity or to remove a component from an entity that doesn't own it results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.
    +
    Warning
    Attempting to use an invalid entity or to remove a component from an entity that doesn't own it results in undefined behavior.
    Template Parameters
    ComponentType of component to patch.
    @@ -2528,7 +2570,7 @@ template<typename... Component> -

    Definition at line 784 of file registry.hpp.

    +

    Definition at line 725 of file registry.hpp.

    @@ -2587,7 +2629,7 @@ template<typename... Component, typename It > -

    Definition at line 800 of file registry.hpp.

    +

    Definition at line 742 of file registry.hpp.

    @@ -2620,8 +2662,7 @@ template<typename Entity >

    Removes all the components from an entity and makes it orphaned.

    Warning
    In case there are listeners that observe the destruction of components and assign other components to the entity in their bodies, the result of invoking this function may not be as expected. In the worst case, it could lead to undefined behavior.
    -Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +Attempting to use an invalid entity results in undefined behavior.
    Parameters
    ComponentTypes of components to remove.
    @@ -2629,7 +2670,7 @@ Attempting to use an invalid entity results in undefined behavior.
    -

    Definition at line 850 of file registry.hpp.

    +

    Definition at line 789 of file registry.hpp.

    @@ -2665,8 +2706,7 @@ template<typename... Component>

    Equivalent to the following snippet (pseudocode):

    if(registry.has<Component>(entity)) { registry.remove<Component>(entity) }

    Prefer this function anyway because it has slightly better performance.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    Template Parameters
    entityA valid entity identifier.
    @@ -2681,7 +2721,7 @@ template<typename... Component>
    Returns
    The number of components actually removed.
    -

    Definition at line 826 of file registry.hpp.

    +

    Definition at line 767 of file registry.hpp.

    @@ -2725,8 +2765,7 @@ template<typename Component , typename... Args>

    Replaces the given component for an entity.

    A new instance of the given component is created and initialized with the arguments provided (the component must have a proper constructor or be of aggregate type). Then the component is assigned to the given entity.

    -
    Warning
    Attempting to use an invalid entity or to replace a component of an entity that doesn't own it results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.
    +
    Warning
    Attempting to use an invalid entity or to replace a component of an entity that doesn't own it results in undefined behavior.
    Template Parameters
    ComponentTypes of components to remove.
    @@ -2743,7 +2782,7 @@ template<typename Component , typename... Args>
    Returns
    A reference to the component being replaced.
    -

    Definition at line 766 of file registry.hpp.

    +

    Definition at line 710 of file registry.hpp.

    @@ -2791,7 +2830,45 @@ template<typename... Component> -

    Definition at line 297 of file registry.hpp.

    +

    Definition at line 246 of file registry.hpp.

    + + + + +

    ◆ reserve_pools()

    + +
    +
    +
    +template<typename Entity >
    +
    ComponentType of component to replace.
    + + + + +
    + + + + + + + + +
    void entt::basic_registry< Entity >::reserve_pools (const size_t count)
    +
    +inline
    +
    + +

    Reserves enough space to store count pools.

    +
    Parameters
    + + +
    countNumber of pools to reserve space for.
    +
    +
    + +

    Definition at line 258 of file registry.hpp.

    @@ -2868,7 +2945,7 @@ template<typename ItComp , typename ItExcl = id_type *>
    Returns
    A newly created runtime view.
    -

    Definition at line 1236 of file registry.hpp.

    +

    Definition at line 1174 of file registry.hpp.

    @@ -2917,7 +2994,7 @@ template<typename Type , typename... Args>
    Returns
    A reference to the newly created object.
    -

    Definition at line 1601 of file registry.hpp.

    +

    Definition at line 1541 of file registry.hpp.

    @@ -2956,7 +3033,7 @@ template<typename... Component> -

    Definition at line 330 of file registry.hpp.

    +

    Definition at line 288 of file registry.hpp.

    @@ -2996,7 +3073,7 @@ template<typename Component >
    Returns
    Number of existing components of the given type.
    -

    Definition at line 256 of file registry.hpp.

    +

    Definition at line 204 of file registry.hpp.

    @@ -3028,7 +3105,7 @@ template<typename Entity >

    Returns the number of entities created so far.

    Returns
    Number of entities created so far.
    -

    Definition at line 264 of file registry.hpp.

    +

    Definition at line 213 of file registry.hpp.

    @@ -3069,8 +3146,7 @@ template<typename To , typename From >
  • All the entities in A that are not in B are returned in no particular order after all the other entities.
  • Any subsequent change to B won't affect the order in A.

    -
    Warning
    Pools of components owned by a group cannot be sorted.
    - An assertion will abort the execution at runtime in debug mode in case the pool is owned by a group.
    +
    Warning
    Pools of components owned by a group cannot be sorted.
    Template Parameters
    @@ -3079,7 +3155,7 @@ template<typename To , typename From > -

    Definition at line 1525 of file registry.hpp.

    +

    Definition at line 1465 of file registry.hpp.

    @@ -3141,8 +3217,7 @@ template<typename Component , typename Compare , typename Sort = std_sort, t
  • A comparison function to use to compare the elements.
  • The comparison funtion object received by the sort function object hasn't necessarily the type of the one passed along with the other parameters to this member function.

    -
    Warning
    Pools of components owned by a group cannot be sorted.
    - An assertion will abort the execution at runtime in debug mode in case the pool is owned by a group.
    +
    Warning
    Pools of components owned by a group cannot be sorted.
    Template Parameters
    ToType of components to sort.
    @@ -3161,7 +3236,7 @@ template<typename Component , typename Compare , typename Sort = std_sort, t -

    Definition at line 1483 of file registry.hpp.

    +

    Definition at line 1426 of file registry.hpp.

    @@ -3201,7 +3276,7 @@ template<typename... Component>
    Returns
    True if the pools of the given components are sortable, false otherwise.
    -

    Definition at line 1416 of file registry.hpp.

    +

    Definition at line 1361 of file registry.hpp.

    @@ -3244,7 +3319,85 @@ template<typename... Owned, typename... Get, typename... Exclude>
    Returns
    True if the group can be sorted, false otherwise.
    -

    Definition at line 1428 of file registry.hpp.

    +

    Definition at line 1373 of file registry.hpp.

    + + + + +

    ◆ storage() [1/2]

    + +
    +
    +
    +template<typename Entity >
    +
    ComponentType of components to sort.
    + + + + +
    + + + + + + + + +
    poly_storage entt::basic_registry< Entity >::storage (const type_info info)
    +
    +inline
    +
    + +

    Returns a poly storage for a given type.

    +
    Parameters
    + + +
    infoThe type for which to return a poly storage.
    +
    +
    +
    Returns
    A valid poly storage if a pool for the given type exists, an empty and thus invalid element otherwise.
    + +

    Definition at line 188 of file registry.hpp.

    + +
    + + +

    ◆ storage() [2/2]

    + +
    +
    +
    +template<typename Entity >
    + + + + + +
    + + + + + + + + +
    poly_storage entt::basic_registry< Entity >::storage (const type_info info) const
    +
    +inline
    +
    + +

    Returns a poly storage for a given type.

    +
    Parameters
    + + +
    infoThe type for which to return a poly storage.
    +
    +
    +
    Returns
    A valid poly storage if a pool for the given type exists, an empty and thus invalid element otherwise.
    + +

    Definition at line 193 of file registry.hpp.

    @@ -3284,7 +3437,7 @@ template<typename Type >
    Returns
    A pointer to the object if it exists in the context of the registry, a null pointer otherwise.
    -

    Definition at line 1649 of file registry.hpp.

    +

    Definition at line 1589 of file registry.hpp.

    @@ -3324,7 +3477,7 @@ template<typename Type >
    Returns
    A pointer to the object if it exists in the context of the registry, a null pointer otherwise.
    -

    Definition at line 1642 of file registry.hpp.

    +

    Definition at line 1582 of file registry.hpp.

    @@ -3357,8 +3510,8 @@ template<typename... Component>

    Returns pointers to the given components for an entity.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    +
    Note
    The registry retains ownership of the pointed-to components.
    Template Parameters
    @@ -3373,7 +3526,7 @@ template<typename... Component>
    Returns
    Pointers to the components owned by the entity.
    -

    Definition at line 990 of file registry.hpp.

    +

    Definition at line 923 of file registry.hpp.

    @@ -3406,8 +3559,8 @@ template<typename... Component>

    Returns pointers to the given components for an entity.

    -
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    - An assertion will abort the execution at runtime in debug mode in case of invalid entity.
    +
    Warning
    Attempting to use an invalid entity results in undefined behavior.
    +
    Note
    The registry retains ownership of the pointed-to components.
    Template Parameters
    ComponentTypes of components to get.
    @@ -3422,7 +3575,7 @@ template<typename... Component>
    Returns
    Pointers to the components owned by the entity.
    -

    Definition at line 978 of file registry.hpp.

    +

    Definition at line 910 of file registry.hpp.

    @@ -3461,7 +3614,7 @@ template<typename Type > -

    Definition at line 1612 of file registry.hpp.

    +

    Definition at line 1552 of file registry.hpp.

    @@ -3500,7 +3653,7 @@ template<typename Entity >
    Returns
    True if the identifier is valid, false otherwise.
    -

    Definition at line 421 of file registry.hpp.

    +

    Definition at line 393 of file registry.hpp.

    @@ -3539,7 +3692,7 @@ template<typename Entity >
    Returns
    The version stored along with the given entity identifier.
    -

    Definition at line 440 of file registry.hpp.

    +

    Definition at line 412 of file registry.hpp.

    @@ -3557,7 +3710,7 @@ template<typename... Component, typename... Exclude> @@ -73,14 +73,13 @@ $(function() {

    This is the complete list of members for entt::basic_snapshot< Entity >, including all inherited members.

    ComponentTypes of components to get.
    - + @@ -3592,7 +3745,7 @@ template<typename... Component, typename... Exclude>
    Returns
    A newly created view.
    -

    Definition at line 1202 of file registry.hpp.

    +

    Definition at line 1140 of file registry.hpp.

    @@ -3610,7 +3763,7 @@ template<typename... Component, typename... Exclude> @@ -70,7 +70,6 @@ $(function() { Classes | Public Types | Public Member Functions | -Friends | List of all members
    entt::basic_runtime_view< Entity > Class Template Reference
    @@ -99,12 +98,16 @@ using  - - - - - - + + + + + + + + + @@ -118,13 +121,6 @@ Public Member Functions -
    basic_view<Entity, exclude_t<Exclude...>, Component...> entt::basic_registry< Entity >::view basic_view<Entity, exclude_t<Exclude...>, Component...> entt::basic_registry< Entity >::view ( exclude_t< Exclude... >  = {}) - + @@ -3645,7 +3798,7 @@ template<typename... Component, typename... Exclude>
    Returns
    A newly created view.
    -

    Definition at line 1195 of file registry.hpp.

    +

    Definition at line 1132 of file registry.hpp.

    @@ -3687,11 +3840,11 @@ template<typename Func >
    basic_view<Entity, exclude_t<Exclude...>, Component...> entt::basic_registry< Entity >::view basic_view<Entity, exclude_t<Exclude...>, Component...> entt::basic_registry< Entity >::view ( exclude_t< Exclude... >  = {})
    -

    Visits an entity and returns the types for its components.

    +

    Visits an entity and returns the type info for its components.

    The signature of the function should be equivalent to the following:

    -
    void(const id_type);
    +
    void(const type_info);

    Returned identifiers are those of the components owned by the entity.

    -
    See also
    type_info
    +
    See also
    type_info
    Warning
    It's not specified whether a component attached to or removed from the given entity during the visit is returned or not to the caller.
    Template Parameters
    @@ -3707,7 +3860,7 @@ template<typename Func > -

    Definition at line 1552 of file registry.hpp.

    +

    Definition at line 1492 of file registry.hpp.

    @@ -3739,11 +3892,11 @@ template<typename Func >
    -

    Visits a registry and returns the types for its components.

    +

    Visits a registry and returns the type info for its components.

    The signature of the function should be equivalent to the following:

    -
    void(const id_type);
    +
    void(const type_info);

    Returned identifiers are those of the components managed by the registry.

    -
    See also
    type_info
    +
    See also
    type_info
    Warning
    It's not specified whether a component for which a pool is created during the visit is returned or not to the caller.
    Template Parameters
    @@ -3758,7 +3911,7 @@ template<typename Func > -

    Definition at line 1581 of file registry.hpp.

    +

    Definition at line 1521 of file registry.hpp.

    @@ -3767,9 +3920,8 @@ template<typename Func >
  • src/entt/entity/registry.hpp
  • -
    static entity_type entity(const entity_type entity) noexcept
    Returns the entity identifier without the version.
    Definition: registry.hpp:431
    -
    basic_registry< entity > registry
    Alias declaration for the most common use case.
    Definition: fwd.hpp:56
    -
    std::uint32_t id_type
    Alias declaration for type identifiers.
    Definition: fwd.hpp:12
    +
    static entity_type entity(const entity_type entity) noexcept
    Returns the entity identifier without the version.
    Definition: registry.hpp:403
    +
    basic_registry< entity > registry
    Alias declaration for the most common use case.
    Definition: fwd.hpp:76
    @@ -73,15 +73,15 @@ $(function() {

    This is the complete list of members for entt::basic_runtime_view< Entity >, including all inherited members.

    EnTT -  3.5.2 +  3.6.0
    - - - - - + + + + + - +
    basic_registry< Entity > classentt::basic_runtime_view< Entity >friend
    begin() constentt::basic_runtime_view< Entity >inline
    contains(const entity_type entt) constentt::basic_runtime_view< Entity >inline
    each(Func func) constentt::basic_runtime_view< Entity >inline
    empty() constentt::basic_runtime_view< Entity >inline
    basic_runtime_view() noexceptentt::basic_runtime_view< Entity >inline
    basic_runtime_view(std::vector< const basic_sparse_set< Entity > * > cpools, std::vector< const basic_sparse_set< Entity > * > epools) noexceptentt::basic_runtime_view< Entity >inline
    begin() constentt::basic_runtime_view< Entity >inline
    contains(const entity_type entt) constentt::basic_runtime_view< Entity >inline
    each(Func func) constentt::basic_runtime_view< Entity >inline
    end() constentt::basic_runtime_view< Entity >inline
    entity_type typedefentt::basic_runtime_view< Entity >
    iterator typedefentt::basic_runtime_view< Entity >
    size() constentt::basic_runtime_view< Entity >inline
    size_hint() constentt::basic_runtime_view< Entity >inline
    size_type typedefentt::basic_runtime_view< Entity >
    diff --git a/classentt_1_1basic__runtime__view.html b/classentt_1_1basic__runtime__view.html index 56f8c9eb6..94abca070 100644 --- a/classentt_1_1basic__runtime__view.html +++ b/classentt_1_1basic__runtime__view.html @@ -22,7 +22,7 @@
    EnTT -  3.5.2 +  3.6.0

    Public Member Functions

    size_type size () const
     Estimates the number of entities that have the given components. More...
     
    bool empty () const
     Checks if the view is definitely empty. More...
     
    + basic_runtime_view () noexcept
     Default constructor to use to create empty, invalid views.
     
     basic_runtime_view (std::vector< const basic_sparse_set< Entity > * > cpools, std::vector< const basic_sparse_set< Entity > * > epools) noexcept
     Constructs a runtime view from a set of storage classes. More...
     
    size_type size_hint () const
     Estimates the number of entities iterated by the view. More...
     
    iterator begin () const
     Returns an iterator to the first entity that has the given components. More...
     
    void each (Func func) const
     Iterates entities and applies the given function object to them. More...
     
    - - - -

    -Friends

    -class basic_registry< Entity >
     A registry is allowed to create views.
     

    Detailed Description

    template<typename Entity>
    @@ -132,7 +128,7 @@ class entt::basic_runtime_view< Entity >

    Runtime view.

    Runtime views iterate over those entities that have at least all the given components in their bags. During initialization, a runtime view looks at the number of entities available for each component and picks up a reference to the smallest set of candidate entities in order to get a performance boost when iterate.
    - Order of elements during iterations are highly dependent on the order of the underlying data structures. See sparse_set and its specializations for more details.

    + Order of elements during iterations are highly dependent on the order of the underlying data structures. See sparse_set and its specializations for more details.

    Important

    Iterators aren't invalidated if:

      @@ -151,7 +147,57 @@ class entt::basic_runtime_view< Entity >

      Definition at line 57 of file runtime_view.hpp.

      -

    Member Function Documentation

    +

    Constructor & Destructor Documentation

    + +

    ◆ basic_runtime_view()

    + +
    +
    +
    +template<typename Entity >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    entt::basic_runtime_view< Entity >::basic_runtime_view (std::vector< const basic_sparse_set< Entity > * > cpools,
    std::vector< const basic_sparse_set< Entity > * > epools 
    )
    +
    +inlinenoexcept
    +
    + +

    Constructs a runtime view from a set of storage classes.

    +
    Parameters
    + + + +
    cpoolsThe storage for the types to iterate.
    epoolsThe storage for the types used to filter the view.
    +
    +
    + +

    Definition at line 152 of file runtime_view.hpp.

    + +
    +
    +

    Member Function Documentation

    ◆ begin()

    @@ -179,10 +225,9 @@ template<typename Entity >

    Returns an iterator to the first entity that has the given components.

    The returned iterator points to the first entity that has the given components. If the view is empty, the returned iterator will be equal to end().

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the first entity that has the given components.
    -

    Definition at line 186 of file runtime_view.hpp.

    +

    Definition at line 182 of file runtime_view.hpp.

    @@ -221,7 +266,7 @@ template<typename Entity >
    Returns
    True if the view contains the given entity, false otherwise.
    -

    Definition at line 214 of file runtime_view.hpp.

    +

    Definition at line 206 of file runtime_view.hpp.

    @@ -270,39 +315,7 @@ template<typename Func > -

    Definition at line 235 of file runtime_view.hpp.

    - - - - -

    ◆ empty()

    - -
    -
    -
    -template<typename Entity >
    - - - - - -
    - - - - - - - -
    bool entt::basic_runtime_view< Entity >::empty () const
    -
    -inline
    -
    - -

    Checks if the view is definitely empty.

    -
    Returns
    True if the view is definitely empty, false otherwise.
    - -

    Definition at line 168 of file runtime_view.hpp.

    +

    Definition at line 227 of file runtime_view.hpp.

    @@ -333,15 +346,14 @@ template<typename Entity >

    Returns an iterator that is past the last entity that has the given components.

    The returned iterator points to the entity following the last entity that has the given components. Attempting to dereference the returned iterator results in undefined behavior.

    -
    Note
    Iterators stay true to the order imposed to the underlying data structures.
    Returns
    An iterator to the entity following the last entity that has the given components.
    -

    Definition at line 205 of file runtime_view.hpp.

    +

    Definition at line 197 of file runtime_view.hpp.

    - -

    ◆ size()

    + +

    ◆ size_hint()

    @@ -352,7 +364,7 @@ template<typename Entity >
    - + @@ -365,10 +377,10 @@ template<typename Entity >
    size_type entt::basic_runtime_view< Entity >::size size_type entt::basic_runtime_view< Entity >::size_hint ( ) const
    -

    Estimates the number of entities that have the given components.

    -
    Returns
    Estimated number of entities that have the given components.
    +

    Estimates the number of entities iterated by the view.

    +
    Returns
    Estimated number of entities iterated by the view.
    -

    Definition at line 160 of file runtime_view.hpp.

    +

    Definition at line 168 of file runtime_view.hpp.

    @@ -377,7 +389,7 @@ template<typename Entity >
  • src/entt/entity/runtime_view.hpp
  • -
    Entity entity_type
    Underlying entity identifier.
    +
    Entity entity_type
    Underlying entity identifier.
    EnTT -  3.5.2 +  3.6.0
    - - - - - - - - + + + + + + +
    basic_registry< Entity > classentt::basic_snapshot< Entity >friend
    basic_snapshot(const basic_registry< entity_type > &source) noexceptentt::basic_snapshot< Entity >inline
    basic_snapshot(basic_snapshot &&)=defaultentt::basic_snapshot< Entity >
    component(Archive &archive) constentt::basic_snapshot< Entity >inline
    component(Archive &archive, It first, It last) constentt::basic_snapshot< Entity >inline
    entities(Archive &archive) constentt::basic_snapshot< Entity >inline
    entity_type typedefentt::basic_snapshot< Entity >
    operator=(basic_snapshot &&)=defaultentt::basic_snapshot< Entity >
    basic_snapshot(const basic_registry< entity_type > &source) noexceptentt::basic_snapshot< Entity >inline
    basic_snapshot(basic_snapshot &&)=defaultentt::basic_snapshot< Entity >
    component(Archive &archive) constentt::basic_snapshot< Entity >inline
    component(Archive &archive, It first, It last) constentt::basic_snapshot< Entity >inline
    entities(Archive &archive) constentt::basic_snapshot< Entity >inline
    entity_type typedefentt::basic_snapshot< Entity >
    operator=(basic_snapshot &&)=defaultentt::basic_snapshot< Entity >
    EnTT -  3.5.2 +  3.6.0
    const basic_snapshot & component (Archive &archive, It first, It last) const
     Puts aside the given components for the entities in a range. More...
     
    - - - -

    -Friends

    -class basic_registry< Entity >
     A registry is allowed to create snapshots.
     

    Detailed Description

    template<typename Entity>
    @@ -134,7 +126,7 @@ class entt::basic_snapshot< Entity >

    -

    Definition at line 31 of file snapshot.hpp.

    +

    Definition at line 34 of file snapshot.hpp.

    Constructor & Destructor Documentation

    ◆ basic_snapshot()

    @@ -170,7 +162,7 @@ template<typename Entity > -

    Definition at line 75 of file snapshot.hpp.

    +

    Definition at line 72 of file snapshot.hpp.

    @@ -220,7 +212,7 @@ template<typename... Component, typename Archive >
    Returns
    An object of this type to continue creating the snapshot.
    -

    Definition at line 122 of file snapshot.hpp.

    +

    Definition at line 119 of file snapshot.hpp.

    @@ -288,7 +280,7 @@ template<typename... Component, typename Archive , typename It >
    Returns
    An object of this type to continue creating the snapshot.
    -

    Definition at line 142 of file snapshot.hpp.

    +

    Definition at line 139 of file snapshot.hpp.

    @@ -336,7 +328,7 @@ template<typename Archive >
    Returns
    An object of this type to continue creating the snapshot.
    -

    Definition at line 96 of file snapshot.hpp.

    +

    Definition at line 93 of file snapshot.hpp.

    diff --git a/classentt_1_1basic__snapshot__loader-members.html b/classentt_1_1basic__snapshot__loader-members.html index c061b56d4..f581277ae 100644 --- a/classentt_1_1basic__snapshot__loader-members.html +++ b/classentt_1_1basic__snapshot__loader-members.html @@ -22,7 +22,7 @@
    EnTT -  3.5.2 +  3.6.0
    - - - - - - - - + + + + + + +
    basic_registry< Entity > classentt::basic_snapshot_loader< Entity >friend
    basic_snapshot_loader(basic_registry< entity_type > &source) noexceptentt::basic_snapshot_loader< Entity >inline
    basic_snapshot_loader(basic_snapshot_loader &&)=defaultentt::basic_snapshot_loader< Entity >
    component(Archive &archive) constentt::basic_snapshot_loader< Entity >inline
    entities(Archive &archive) constentt::basic_snapshot_loader< Entity >inline
    entity_type typedefentt::basic_snapshot_loader< Entity >
    operator=(basic_snapshot_loader &&)=defaultentt::basic_snapshot_loader< Entity >
    orphans() constentt::basic_snapshot_loader< Entity >inline
    basic_snapshot_loader(basic_registry< entity_type > &source) noexceptentt::basic_snapshot_loader< Entity >inline
    basic_snapshot_loader(basic_snapshot_loader &&)=defaultentt::basic_snapshot_loader< Entity >
    component(Archive &archive) constentt::basic_snapshot_loader< Entity >inline
    entities(Archive &archive) constentt::basic_snapshot_loader< Entity >inline
    entity_type typedefentt::basic_snapshot_loader< Entity >
    operator=(basic_snapshot_loader &&)=defaultentt::basic_snapshot_loader< Entity >
    orphans() constentt::basic_snapshot_loader< Entity >inline