Michele Caini vor 6 Jahren
Ursprung
Commit
072761c5ba
1 geänderte Dateien mit 14 neuen und 6 gelöschten Zeilen
  1. 14 6
      docs/md/core.md

+ 14 - 6
docs/md/core.md

@@ -13,7 +13,7 @@
   * [Conflicts](#conflicts)
 * [Monostate](#monostate)
 * [Type info](#type-info)
-  * [Conflicts](#conflicts)
+  * [Almost unique identifiers](#almost-unique-identifiers)
 <!--
 @endcond TURN_OFF_DOXYGEN
 -->
@@ -224,16 +224,24 @@ Note that this class template and its specializations are widely used within
 across boundaries.<br/>
 Please refer to the dedicated section for more details.
 
-## Conflicts
+## Almost unique identifiers
 
-Since the default, non-standard implementation makes use of hashed strings, it
-may happen that two types are assigned the same numeric identifier.<br/>
+Since the default non-standard, compile-time implementation makes use of hashed
+strings, it may happen that two types are assigned the same numeric
+identifier.<br/>
 In fact, although this is quite rare, it's not entirely excluded.
 
-In this case, there are many ways to deal with it:
+Another case where two types are assigned the same identifier is when classes
+from different contexts (for example two or more libraries loaded at runtime)
+have the same fully qualified name.<br/>
+Since the default model is based on the name of the classes, if the types belong
+to the same namespace then their identifiers _could_ be identical (they won't
+necessarily be the same though).
+
+Fortunately, there are several easy ways to deal with this:
 
 * The most trivial one is to define the `ENTT_STANDARD_CPP` macro. Note that
-  runtime identifiers don't suffer from this problem. However, this solution
+  runtime identifiers don't suffer from the sam problem. However, this solution
   doesn't work well with a plugin system, where the libraries aren't linked.
 
 * Another possibility is to specialize the `type_info` class for one of the