mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
910f272467
* Make architecture implementations virtual functions - Easier to add new architectures (add implementation to implementation.cpp) - Easier to add new algorithms / functions to architecture selection (add to implementation.h, implement) - Automatically select best implementation in static initialization - Allow user to explicitly select implementation with a string (i.e. parameter) - Allow user to inspect current implementation name/description - Allow user to list available implementations - Eliminate architecture enum and architecture-based templating - Add noexcept in non-inline functions * Move implementation static methods to their own classes * Detect best supported implementation on first use * available_implementationsI() -> available_implementations
23 lines
491 B
C
23 lines
491 B
C
#ifndef SIMDJSON_SIMDJSON_H
|
|
#define SIMDJSON_SIMDJSON_H
|
|
|
|
#ifndef __cplusplus
|
|
#error simdjson requires a C++ compiler
|
|
#endif
|
|
|
|
#ifndef SIMDJSON_CPLUSPLUS
|
|
#if defined(_MSVC_LANG) && !defined(__clang__)
|
|
#define SIMDJSON_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG)
|
|
#else
|
|
#define SIMDJSON_CPLUSPLUS __cplusplus
|
|
#endif
|
|
#endif
|
|
|
|
#if (SIMDJSON_CPLUSPLUS < 201703L)
|
|
#error simdjson requires a compiler compliant with the C++17 standard
|
|
#endif
|
|
|
|
#include "simdjson/error.h"
|
|
|
|
#endif // SIMDJSON_H
|