diff options
| author | Tor Aamodt <[email protected]> | 2020-05-21 08:57:11 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-05-21 08:57:11 -0700 |
| commit | 76217d80d9aa33126b4254f5e899f882bbc6f2fd (patch) | |
| tree | 4f461a6f417f76956748fafcfb89b664f54bf6a9 /src/tr1_hash_map.h | |
| parent | e7fbfaa347c0acf8a6702c1e684a8e2ad8d3f733 (diff) | |
| parent | e9e9fcf5957530ecb927aecb5ea238e4b78a4f45 (diff) | |
Merge pull request #178 from purdue-aalp/dev
Merging with the last few months of work at Purdue
Diffstat (limited to 'src/tr1_hash_map.h')
| -rw-r--r-- | src/tr1_hash_map.h | 70 |
1 files changed, 36 insertions, 34 deletions
diff --git a/src/tr1_hash_map.h b/src/tr1_hash_map.h index 8c7513e..c92ce15 100644 --- a/src/tr1_hash_map.h +++ b/src/tr1_hash_map.h @@ -7,44 +7,46 @@ // // Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. -// Redistributions in binary form must reproduce the above copyright notice, this -// list of conditions and the following disclaimer in the documentation and/or -// other materials provided with the distribution. -// Neither the name of The University of British Columbia nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. +// Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. Neither the name of +// The University of British Columbia nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. -#pragma once +#pragma once // detection and fallback for unordered_map in C++0x #ifdef __cplusplus - // detect GCC 4.3 or later and use unordered map (part of C++0x) - // unordered map doesn't play nice with _GLIBCXX_DEBUG, just use a map if its enabled. - #if defined( __GNUC__ ) and not defined( _GLIBCXX_DEBUG ) - #if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 - #include <unordered_map> - #define tr1_hash_map std::unordered_map - #define tr1_hash_map_ismap 0 - #else - #include <map> - #define tr1_hash_map std::map - #define tr1_hash_map_ismap 1 - #endif - #else - #include <map> - #define tr1_hash_map std::map - #define tr1_hash_map_ismap 1 - #endif +// detect GCC 4.3 or later and use unordered map (part of C++0x) +// unordered map doesn't play nice with _GLIBCXX_DEBUG, just use a map if its +// enabled. +#if defined(__GNUC__) and not defined(_GLIBCXX_DEBUG) +#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 +#include <unordered_map> +#define tr1_hash_map std::unordered_map +#define tr1_hash_map_ismap 0 +#else +#include <map> +#define tr1_hash_map std::map +#define tr1_hash_map_ismap 1 +#endif +#else +#include <map> +#define tr1_hash_map std::map +#define tr1_hash_map_ismap 1 +#endif #endif |
