updated FAQ

This commit is contained in:
Michele Caini
2019-07-13 00:14:33 +02:00
parent 87d901b1ae
commit a4dcdfc403

View File

@@ -10,6 +10,7 @@
* [Why is my debug build on Windows so slow?](#why-is-my-debug-build-on-windows-so-slow)
* [How can I represent hierarchies with my components?](#how-can-i-represent-hierarchies-with-my-components)
* [Custom entity identifiers: yay or nay?](#custom-entity-identifiers-yay-or-nay)
* [Warning C4307: integral constant overflow](#warning-C4307-integral-constant-overflow)
<!--
@endcond TURN_OFF_DOXYGEN
-->
@@ -111,3 +112,33 @@ ENTT_ENTITY_TYPE(entity, std::uint32_t)
The use of this macro is highly recommended, so as not to run into problems if
the requirements for the identifiers should change in the future.
## Warning C4307: integral constant overflow
According to [this](https://github.com/skypjack/entt/issues/121) issue, using a
hashed string under VS could generate a warning.<br/>
First of all, I want to reassure you: it's expected and harmless. However, it
can be annoying.
To suppress it and if you don't want to suppress all the other warnings as well,
here is a workaround in the form of a macro:
```cpp
#if defined(_MSC_VER)
#define HS(x)\
__pragma(warning(push))\
__pragma(warning(disable:4307))\
entt::hashed_string{#x}\
__pragma(warning(pop))
#else
#define HS(x) entt::hashed_string{#x}
#endif
```
With an example of use included:
```cpp
constexpr auto identifier = HS("my/resource/identifier");
```
Thanks to [huwpascoe](https://github.com/huwpascoe) for the courtesy.