diff --git a/adl__pointer_8hpp_source.html b/adl__pointer_8hpp_source.html index 5b444e472..5c9e28fff 100644 --- a/adl__pointer_8hpp_source.html +++ b/adl__pointer_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.9.0 +  3.10.0
@@ -90,7 +90,7 @@ $(function() {
33 } // namespace entt
34 
35 #endif
-
entt
EnTT default namespace.
Definition: dense_hash_map.hpp:21
+
entt
EnTT default namespace.
Definition: dense_map.hpp:22
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:13
entt::adl_meta_pointer_like
Fake ADL based lookup function for meta pointer-like types.
Definition: adl_pointer.hpp:22
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:28
diff --git a/algorithm_8hpp_source.html b/algorithm_8hpp_source.html index 3fa8cf1f9..b86e9cde3 100644 --- a/algorithm_8hpp_source.html +++ b/algorithm_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.9.0 +  3.10.0
@@ -154,7 +154,7 @@ $(function() {
135 } // namespace entt
136 
137 #endif
-
entt
EnTT default namespace.
Definition: dense_hash_map.hpp:21
+
entt
EnTT default namespace.
Definition: dense_map.hpp:22
entt::insertion_sort
Function object for performing insertion sort.
Definition: algorithm.hpp:42
entt::insertion_sort::operator()
void operator()(It first, It last, Compare compare=Compare{}) const
Sorts the elements in a range.
Definition: algorithm.hpp:55
entt::radix_sort
Function object for performing LSD radix sort.
Definition: algorithm.hpp:77
diff --git a/android-ndk-r17_8hpp_source.html b/android-ndk-r17_8hpp_source.html index 5b31b6c67..23bd3d4e7 100644 --- a/android-ndk-r17_8hpp_source.html +++ b/android-ndk-r17_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.9.0 +  3.10.0
diff --git a/annotated.html b/annotated.html index 3e24cb324..db1fe5376 100644 --- a/annotated.html +++ b/annotated.html @@ -22,7 +22,7 @@
EnTT -  3.9.0 +  3.10.0
@@ -69,8 +69,8 @@ $(function() {
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
- - + + @@ -83,170 +83,166 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + +
 NenttEnTT default namespace
 Nstd
diff --git a/any_8hpp_source.html b/any_8hpp_source.html index 75315ddc3..d9f0d2f9a 100644 --- a/any_8hpp_source.html +++ b/any_8hpp_source.html @@ -22,7 +22,7 @@
EnTT -  3.9.0 +  3.10.0
@@ -111,58 +111,58 @@ $(function() {
44 
45  template<typename Type>
46  static const void *basic_vtable([[maybe_unused]] const operation op, [[maybe_unused]] const basic_any &value, [[maybe_unused]] const void *other) {
-
47  static_assert(!std::is_same_v<Type, void> && std::is_same_v<std::remove_reference_t<std::remove_const_t<Type>>, Type>, "Invalid type");
-
48  const Type *instance = nullptr;
+
47  static_assert(!std::is_same_v<Type, void> && std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, Type>, "Invalid type");
+
48  const Type *element = nullptr;
49 
50  if constexpr(in_situ<Type>) {
-
51  instance = (value.mode == policy::owner) ? ENTT_LAUNDER(reinterpret_cast<const Type *>(&value.storage)) : static_cast<const Type *>(value.instance);
+
51  element = value.owner() ? reinterpret_cast<const Type *>(&value.storage) : static_cast<const Type *>(value.instance);
52  } else {
-
53  instance = static_cast<const Type *>(value.instance);
+
53  element = static_cast<const Type *>(value.instance);
54  }
55 
56  switch(op) {
57  case operation::copy:
58  if constexpr(std::is_copy_constructible_v<Type>) {
-
59  static_cast<basic_any *>(const_cast<void *>(other))->initialize<Type>(*instance);
+
59  static_cast<basic_any *>(const_cast<void *>(other))->initialize<Type>(*element);
60  }
61  break;
62  case operation::move:
63  if constexpr(in_situ<Type>) {
-
64  if(value.mode == policy::owner) {
-
65  return new(&static_cast<basic_any *>(const_cast<void *>(other))->storage) Type{std::move(*const_cast<Type *>(instance))};
+
64  if(value.owner()) {
+
65  return new(&static_cast<basic_any *>(const_cast<void *>(other))->storage) Type{std::move(*const_cast<Type *>(element))};
66  }
67  }
68 
69  return (static_cast<basic_any *>(const_cast<void *>(other))->instance = std::exchange(const_cast<basic_any &>(value).instance, nullptr));
70  case operation::transfer:
71  if constexpr(std::is_move_assignable_v<Type>) {
-
72  *const_cast<Type *>(instance) = std::move(*static_cast<Type *>(const_cast<void *>(other)));
+
72  *const_cast<Type *>(element) = std::move(*static_cast<Type *>(const_cast<void *>(other)));
73  return other;
74  }
75  [[fallthrough]];
76  case operation::assign:
77  if constexpr(std::is_copy_assignable_v<Type>) {
-
78  *const_cast<Type *>(instance) = *static_cast<const Type *>(other);
+
78  *const_cast<Type *>(element) = *static_cast<const Type *>(other);
79  return other;
80  }
81  break;
82  case operation::destroy:
83  if constexpr(in_situ<Type>) {
-
84  instance->~Type();
+
84  element->~Type();
85  } else if constexpr(std::is_array_v<Type>) {
-
86  delete[] instance;
+
86  delete[] element;
87  } else {
-
88  delete instance;
+
88  delete element;
89  }
90  break;
91  case operation::compare:
92  if constexpr(!std::is_function_v<Type> && !std::is_array_v<Type> && is_equality_comparable_v<Type>) {
-
93  return *static_cast<const Type *>(instance) == *static_cast<const Type *>(other) ? other : nullptr;
+
93  return *static_cast<const Type *>(element) == *static_cast<const Type *>(other) ? other : nullptr;
94  } else {
-
95  return (instance == other) ? other : nullptr;
+
95  return (element == other) ? other : nullptr;
96  }
97  case operation::get:
-
98  return instance;
+
98  return element;
99  }
100 
101  return nullptr;
@@ -171,8 +171,8 @@ $(function() {
104  template<typename Type, typename... Args>
105  void initialize([[maybe_unused]] Args &&...args) {
106  if constexpr(!std::is_void_v<Type>) {
-
107  vtable = basic_vtable<std::remove_const_t<std::remove_reference_t<Type>>>;
-
108  info = &type_id<Type>();
+
107  info = &type_id<std::remove_cv_t<std::remove_reference_t<Type>>>();
+
108  vtable = basic_vtable<std::remove_cv_t<std::remove_reference_t<Type>>>;
109 
110  if constexpr(std::is_lvalue_reference_v<Type>) {
111  static_assert(sizeof...(Args) == 1u && (std::is_lvalue_reference_v<Args> && ...), "Invalid arguments");
@@ -194,7 +194,7 @@ $(function() {
127  }
128  }
129 
-
130  basic_any(const basic_any &other, const policy pol) ENTT_NOEXCEPT
+
130  basic_any(const basic_any &other, const policy pol) ENTT_NOEXCEPT
131  : instance{other.data()},
132  info{other.info},
133  vtable{other.vtable},
@@ -204,7 +204,7 @@ $(function() {
138  static constexpr auto length = Len;
140  static constexpr auto alignment = Align;
141 
-
143  basic_any() ENTT_NOEXCEPT
+
143  constexpr basic_any() ENTT_NOEXCEPT
144  : instance{},
145  info{&type_id<void>()},
146  vtable{},
@@ -240,7 +240,7 @@ $(function() {
195  }
196 
198  ~basic_any() {
-
199  if(vtable && mode == policy::owner) {
+
199  if(vtable && owner()) {
200  vtable(operation::destroy, *this, nullptr);
201  }
202  }
@@ -275,7 +275,7 @@ $(function() {
247  return *this;
248  }
249 
-
254  [[nodiscard]] const type_info &type() const ENTT_NOEXCEPT {
+
254  [[nodiscard]] const type_info &type() const ENTT_NOEXCEPT {
255  return *info;
256  }
257 
@@ -283,7 +283,7 @@ $(function() {
263  return vtable ? vtable(operation::get, *this, nullptr) : nullptr;
264  }
265 
-
271  [[nodiscard]] const void *data(const type_info &req) const ENTT_NOEXCEPT {
+
271  [[nodiscard]] const void *data(const type_info &req) const ENTT_NOEXCEPT {
272  return *info == req ? data() : nullptr;
273  }
274 
@@ -291,7 +291,7 @@ $(function() {
280  return (!vtable || mode == policy::cref) ? nullptr : const_cast<void *>(vtable(operation::get, *this, nullptr));
281  }
282 
-
288  [[nodiscard]] void *data(const type_info &req) ENTT_NOEXCEPT {
+
288  [[nodiscard]] void *data(const type_info &req) ENTT_NOEXCEPT {
289  return *info == req ? data() : nullptr;
290  }
291 
@@ -309,157 +309,157 @@ $(function() {
314  return false;
315  }
316 
-
322  bool assign(any &&other) {
-
323  if(vtable && mode != policy::cref && *info == *other.info) {
-
324  if(auto *val = other.data(); val) {
-
325  return (vtable(operation::transfer, *this, val) != nullptr);
-
326  } else {
-
327  return (vtable(operation::assign, *this, std::as_const(other).data()) != nullptr);
-
328  }
-
329  }
-
330 
-
331  return false;
-
332  }
-
333 
-
335  void reset() {
-
336  if(vtable && mode == policy::owner) {
-
337  vtable(operation::destroy, *this, nullptr);
-
338  }
-
339 
-
340  info = &type_id<void>();
-
341  vtable = nullptr;
-
342  mode = policy::owner;
-
343  }
-
344 
-
349  [[nodiscard]] explicit operator bool() const ENTT_NOEXCEPT {
-
350  return vtable != nullptr;
-
351  }
-
352 
-
358  bool operator==(const basic_any &other) const ENTT_NOEXCEPT {
-
359  if(vtable && *info == *other.info) {
-
360  return (vtable(operation::compare, *this, other.data()) != nullptr);
-
361  }
-
362 
-
363  return (!vtable && !other.vtable);
-
364  }
-
365 
-
370  [[nodiscard]] basic_any as_ref() ENTT_NOEXCEPT {
-
371  return basic_any{*this, (mode == policy::cref ? policy::cref : policy::ref)};
-
372  }
-
373 
-
375  [[nodiscard]] basic_any as_ref() const ENTT_NOEXCEPT {
-
376  return basic_any{*this, policy::cref};
-
377  }
-
378 
-
383  [[nodiscard]] bool owner() const ENTT_NOEXCEPT {
-
384  return (mode == policy::owner);
-
385  }
-
386 
-
387 private:
-
388  union {
-
389  const void *instance;
-
390  storage_type storage;
-
391  };
-
392  const type_info *info;
-
393  vtable_type *vtable;
-
394  policy mode;
-
395 };
-
396 
-
405 template<std::size_t Len, std::size_t Align>
-
406 [[nodiscard]] inline bool operator!=(const basic_any<Len, Align> &lhs, const basic_any<Len, Align> &rhs) ENTT_NOEXCEPT {
-
407  return !(lhs == rhs);
-
408 }
-
409 
-
418 template<typename Type, std::size_t Len, std::size_t Align>
-
419 Type any_cast(const basic_any<Len, Align> &data) ENTT_NOEXCEPT {
-
420  const auto *const instance = any_cast<std::remove_reference_t<Type>>(&data);
-
421  ENTT_ASSERT(instance, "Invalid instance");
-
422  return static_cast<Type>(*instance);
-
423 }
-
424 
-
426 template<typename Type, std::size_t Len, std::size_t Align>
-
427 Type any_cast(basic_any<Len, Align> &data) ENTT_NOEXCEPT {
-
428  // forces const on non-reference types to make them work also with wrappers for const references
-
429  auto *const instance = any_cast<std::remove_reference_t<const Type>>(&data);
-
430  ENTT_ASSERT(instance, "Invalid instance");
-
431  return static_cast<Type>(*instance);
-
432 }
-
433 
-
435 template<typename Type, std::size_t Len, std::size_t Align>
-
436 Type any_cast(basic_any<Len, Align> &&data) ENTT_NOEXCEPT {
-
437  if constexpr(std::is_copy_constructible_v<std::remove_const_t<std::remove_reference_t<Type>>>) {
-
438  if(auto *const instance = any_cast<std::remove_reference_t<Type>>(&data); instance) {
-
439  return static_cast<Type>(std::move(*instance));
-
440  } else {
-
441  return any_cast<Type>(data);
-
442  }
-
443  } else {
-
444  auto *const instance = any_cast<std::remove_reference_t<Type>>(&data);
-
445  ENTT_ASSERT(instance, "Invalid instance");
-
446  return static_cast<Type>(std::move(*instance));
-
447  }
-
448 }
-
449 
-
451 template<typename Type, std::size_t Len, std::size_t Align>
-
452 const Type *any_cast(const basic_any<Len, Align> *data) ENTT_NOEXCEPT {
-
453  const auto &info = type_id<std::remove_const_t<std::remove_reference_t<Type>>>();
-
454  return static_cast<const Type *>(data->data(info));
-
455 }
-
456 
-
458 template<typename Type, std::size_t Len, std::size_t Align>
-
459 Type *any_cast(basic_any<Len, Align> *data) ENTT_NOEXCEPT {
-
460  const auto &info = type_id<std::remove_const_t<std::remove_reference_t<Type>>>();
-
461  // last attempt to make wrappers for const references return their values
-
462  return static_cast<Type *>(static_cast<constness_as_t<basic_any<Len, Align>, Type> *>(data)->data(info));
-
463 }
-
464 
-
474 template<typename Type, std::size_t Len = basic_any<>::length, std::size_t Align = basic_any<Len>::alignment, typename... Args>
-
475 basic_any<Len, Align> make_any(Args &&...args) {
-
476  return basic_any<Len, Align>{std::in_place_type<Type>, std::forward<Args>(args)...};
-
477 }
-
478 
-
487 template<std::size_t Len = basic_any<>::length, std::size_t Align = basic_any<Len>::alignment, typename Type>
-
488 basic_any<Len, Align> forward_as_any(Type &&value) {
-
489  return basic_any<Len, Align>{std::in_place_type<std::conditional_t<std::is_rvalue_reference_v<Type>, std::decay_t<Type>, Type>>, std::forward<Type>(value)};
-
490 }
-
491 
-
492 } // namespace entt
-
493 
-
494 #endif
+
318  bool assign(any &&other) {
+
319  if(vtable && mode != policy::cref && *info == *other.info) {
+
320  if(auto *val = other.data(); val) {
+
321  return (vtable(operation::transfer, *this, val) != nullptr);
+
322  } else {
+
323  return (vtable(operation::assign, *this, std::as_const(other).data()) != nullptr);
+
324  }
+
325  }
+
326 
+
327  return false;
+
328  }
+
329 
+
331  void reset() {
+
332  if(vtable && owner()) {
+
333  vtable(operation::destroy, *this, nullptr);
+
334  }
+
335 
+
336  info = &type_id<void>();
+
337  vtable = nullptr;
+
338  mode = policy::owner;
+
339  }
+
340 
+
345  [[nodiscard]] explicit operator bool() const ENTT_NOEXCEPT {
+
346  return vtable != nullptr;
+
347  }
+
348 
+
354  bool operator==(const basic_any &other) const ENTT_NOEXCEPT {
+
355  if(vtable && *info == *other.info) {
+
356  return (vtable(operation::compare, *this, other.data()) != nullptr);
+
357  }
+
358 
+
359  return (!vtable && !other.vtable);
+
360  }
+
361 
+
366  [[nodiscard]] basic_any as_ref() ENTT_NOEXCEPT {
+
367  return basic_any{*this, (mode == policy::cref ? policy::cref : policy::ref)};
+
368  }
+
369 
+
371  [[nodiscard]] basic_any as_ref() const ENTT_NOEXCEPT {
+
372  return basic_any{*this, policy::cref};
+
373  }
+
374 
+
379  [[nodiscard]] bool owner() const ENTT_NOEXCEPT {
+
380  return (mode == policy::owner);
+
381  }
+
382 
+
383 private:
+
384  union {
+
385  const void *instance;
+
386  storage_type storage;
+
387  };
+
388  const type_info *info;
+
389  vtable_type *vtable;
+
390  policy mode;
+
391 };
+
392 
+
401 template<std::size_t Len, std::size_t Align>
+
402 [[nodiscard]] inline bool operator!=(const basic_any<Len, Align> &lhs, const basic_any<Len, Align> &rhs) ENTT_NOEXCEPT {
+
403  return !(lhs == rhs);
+
404 }
+
405 
+
414 template<typename Type, std::size_t Len, std::size_t Align>
+
415 Type any_cast(const basic_any<Len, Align> &data) ENTT_NOEXCEPT {
+
416  const auto *const instance = any_cast<std::remove_reference_t<Type>>(&data);
+
417  ENTT_ASSERT(instance, "Invalid instance");
+
418  return static_cast<Type>(*instance);
+
419 }
+
420 
+
422 template<typename Type, std::size_t Len, std::size_t Align>
+
423 Type any_cast(basic_any<Len, Align> &data) ENTT_NOEXCEPT {
+
424  // forces const on non-reference types to make them work also with wrappers for const references
+
425  auto *const instance = any_cast<std::remove_reference_t<const Type>>(&data);
+
426  ENTT_ASSERT(instance, "Invalid instance");
+
427  return static_cast<Type>(*instance);
+
428 }
+
429 
+
431 template<typename Type, std::size_t Len, std::size_t Align>
+
432 Type any_cast(basic_any<Len, Align> &&data) ENTT_NOEXCEPT {
+
433  if constexpr(std::is_copy_constructible_v<std::remove_cv_t<std::remove_reference_t<Type>>>) {
+
434  if(auto *const instance = any_cast<std::remove_reference_t<Type>>(&data); instance) {
+
435  return static_cast<Type>(std::move(*instance));
+
436  } else {
+
437  return any_cast<Type>(data);
+
438  }
+
439  } else {
+
440  auto *const instance = any_cast<std::remove_reference_t<Type>>(&data);
+
441  ENTT_ASSERT(instance, "Invalid instance");
+
442  return static_cast<Type>(std::move(*instance));
+
443  }
+
444 }
+
445 
+
447 template<typename Type, std::size_t Len, std::size_t Align>
+
448 const Type *any_cast(const basic_any<Len, Align> *data) ENTT_NOEXCEPT {
+
449  const auto &info = type_id<std::remove_cv_t<std::remove_reference_t<Type>>>();
+
450  return static_cast<const Type *>(data->data(info));
+
451 }
+
452 
+
454 template<typename Type, std::size_t Len, std::size_t Align>
+
455 Type *any_cast(basic_any<Len, Align> *data) ENTT_NOEXCEPT {
+
456  const auto &info = type_id<std::remove_cv_t<std::remove_reference_t<Type>>>();
+
457  // last attempt to make wrappers for const references return their values
+
458  return static_cast<Type *>(static_cast<constness_as_t<basic_any<Len, Align>, Type> *>(data)->data(info));
+
459 }
+
460 
+
470 template<typename Type, std::size_t Len = basic_any<>::length, std::size_t Align = basic_any<Len>::alignment, typename... Args>
+
471 basic_any<Len, Align> make_any(Args &&...args) {
+
472  return basic_any<Len, Align>{std::in_place_type<Type>, std::forward<Args>(args)...};
+
473 }
+
474 
+
483 template<std::size_t Len = basic_any<>::length, std::size_t Align = basic_any<Len>::alignment, typename Type>
+
484 basic_any<Len, Align> forward_as_any(Type &&value) {
+
485  return basic_any<Len, Align>{std::in_place_type<std::conditional_t<std::is_rvalue_reference_v<Type>, std::decay_t<Type>, Type>>, std::forward<Type>(value)};
+
486 }
+
487 
+
488 } // namespace entt
+
489 
+
490 #endif
entt::basic_any
A SBO friendly, type-safe container for single values of any type.
Definition: any.hpp:22
-
entt::basic_any::reset
void reset()
Destroys contained object.
Definition: any.hpp:335
+
entt::basic_any::reset
void reset()
Destroys contained object.
Definition: any.hpp:331
entt::basic_any::data
const void * data() const
Returns an opaque pointer to the contained instance.
Definition: any.hpp:262
entt::basic_any::operator=
basic_any & operator=(const basic_any &other)
Copy assignment operator.
Definition: any.hpp:209
entt::basic_any::data
void * data()
Returns an opaque pointer to the contained instance.
Definition: any.hpp:279
entt::basic_any::basic_any
basic_any(const basic_any &other)
Copy constructor.
Definition: any.hpp:176
entt::basic_any::basic_any
basic_any(std::in_place_type_t< Type >, Args &&...args)
Constructs a wrapper by directly initializing the new object.
Definition: any.hpp:156
-
entt::basic_any::as_ref
basic_any as_ref() const
Aliasing constructor.
Definition: any.hpp:375
+
entt::basic_any::as_ref
basic_any as_ref() const
Aliasing constructor.
Definition: any.hpp:371
entt::basic_any::operator=
std::enable_if_t<!std::is_same_v< std::decay_t< Type >, basic_any >, basic_any & > operator=(Type &&value)
Value assignment operator.
Definition: any.hpp:245
-
entt::basic_any::assign
bool assign(any &&other)
Move assigns a value to the contained object without replacing it.
Definition: any.hpp:322
+
entt::basic_any::assign
bool assign(any &&other)
Assigns a value to the contained object without replacing it.
Definition: any.hpp:318
entt::basic_any::data
const void * data(const type_info &req) const
Returns an opaque pointer to the contained instance.
Definition: any.hpp:271
entt::basic_any::length
static constexpr auto length
Size of the internal storage.
Definition: any.hpp:138
entt::basic_any::emplace
void emplace(Args &&...args)
Replaces the contained object by creating a new instance directly.
Definition: any.hpp:299
-
entt::basic_any::assign
bool assign(const any &other)
Copy assigns a value to the contained object without replacing it.
Definition: any.hpp:309
-
entt::basic_any::as_ref
basic_any as_ref()
Aliasing constructor.
Definition: any.hpp:370
+
entt::basic_any::assign
bool assign(const any &other)
Assigns a value to the contained object without replacing it.
Definition: any.hpp:309
+
entt::basic_any::as_ref
basic_any as_ref()
Aliasing constructor.
Definition: any.hpp:366
entt::basic_any::alignment
static constexpr auto alignment
Alignment requirement.
Definition: any.hpp:140
entt::basic_any::type
const type_info & type() const
Returns the object type if any, type_id<void>() otherwise.
Definition: any.hpp:254
-
entt::basic_any::basic_any
basic_any()
Default constructor.
Definition: any.hpp:143
+
entt::basic_any::basic_any
constexpr basic_any()
Default constructor.
Definition: any.hpp:143
entt::basic_any::~basic_any
~basic_any()
Frees the internal storage, whatever it means.
Definition: any.hpp:198
entt::basic_any::operator=
basic_any & operator=(basic_any &&other)
Move assignment operator.
Definition: any.hpp:224
entt::basic_any::basic_any
basic_any(basic_any &&other)
Move constructor.
Definition: any.hpp:187
entt::basic_any::data
void * data(const type_info &req)
Returns an opaque pointer to the contained instance.
Definition: any.hpp:288
-
entt::basic_any::operator==
bool operator==(const basic_any &other) const
Checks if two wrappers differ in their content.
Definition: any.hpp:358
-
entt::basic_any::owner
bool owner() const
Returns true if a wrapper owns its object, false otherwise.
Definition: any.hpp:383
+
entt::basic_any::operator==
bool operator==(const basic_any &other) const
Checks if two wrappers differ in their content.
Definition: any.hpp:354
+
entt::basic_any::owner
bool owner() const
Returns true if a wrapper owns its object, false otherwise.
Definition: any.hpp:379
entt::basic_any::basic_any
basic_any(Type &&value)
Constructs a wrapper from a given value.
Definition: any.hpp:167
-
entt::basic_storage
Basic storage implementation.
Definition: storage.hpp:237
-
entt::type_info
Implementation specific information about a type.
Definition: type_info.hpp:141
-
entt
EnTT default namespace.
Definition: dense_hash_map.hpp:21
-
entt::any_cast
Type any_cast(const basic_any< Len, Align > &data)
Performs type-safe access to the contained object.
Definition: any.hpp:419
-
entt::make_any
basic_any< Len, Align > make_any(Args &&...args)
Constructs a wrapper from a given type, passing it all arguments.
Definition: any.hpp:475
-
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:645
-
entt::forward_as_any
basic_any< Len, Align > forward_as_any(Type &&value)
Forwards its argument and avoids copies for lvalue references.
Definition: any.hpp:488
+
entt::basic_storage
Basic storage implementation.
Definition: storage.hpp:234
+
entt
EnTT default namespace.
Definition: dense_map.hpp:22
+
entt::any_cast
Type any_cast(const basic_any< Len, Align > &data)
Performs type-safe access to the contained object.
Definition: any.hpp:415
+
entt::make_any
basic_any< Len, Align > make_any(Args &&...args)
Constructs a wrapper from a given type, passing it all arguments.
Definition: any.hpp:471
+
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:618
+
entt::forward_as_any
basic_any< Len, Align > forward_as_any(Type &&value)
Forwards its argument and avoids copies for lvalue references.
Definition: any.hpp:484
entt::get
constexpr get_t< Type... > get
Variable template for lists of observed components.
Definition: utility.hpp:34
-
entt::operator!=
bool operator!=(const basic_any< Len, Align > &lhs, const basic_any< Len, Align > &rhs)
Checks if two wrappers differ in their content.
Definition: any.hpp:406
+
entt::operator!=
bool operator!=(const basic_any< Len, Align > &lhs, const basic_any< Len, Align > &rhs)
Checks if two wrappers differ in their content.
Definition: any.hpp:402
+
entt::type_info
Implementation specific information about a type.
Definition: type_info.hpp:141