| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>EABase Future Plans</title>
- <style type="text/css">
- .SmallBody{
- font-size: 10pt
- }
-
- body
- {
- font-family: Palatino Linotype, Book Antiqua, Times New Roman;
- font-size: 11pt;
- }
- h1
- {
- font-family: Verdana;
- display: block;
- background-color: #FFF0B0;
- border: solid 2px black;
- font-size: 16pt;
- font-weight: bold;
- padding: 6px;
- }
- h2
- {
- font-size: 14pt;
- font-family: Verdana;
- border-bottom: 2px solid black;
- }
- h3
- {
- font-family: Verdana;
- font-size: 13pt;
- font-weight: bold;
- }
- .code-example
- {
- display: block;
- background-color: #e0e0f0;
- margin-left: 3em;
- margin-right: 3em;
- margin-top: 1em;
- margin-bottom: 1em;
- padding: 8px;
- border: solid 2px #a0a0d0;
- font-family: monospace;
- font-size: 10pt;
- white-space: pre;
- }
- .code-example-span
- {
- font-family: monospace;
- font-size: 10pt;
- white-space: pre;
- }
- .code-example-comment
- {
- background-color: #e0e0f0;
- padding: 0px 0px;
- font-family: monospace;
- font-size: 10pt;
- white-space: pre;
- color: #999999;
- margin: auto auto;
- }
- .faq-question
- {
- background-color: #D0E0D0;
- font-size: 12pt;
- font-weight: bold;
- margin-bottom: 0.5em;
- margin-top: 0em;
- padding-left:8px;
- padding-right:8px;
- padding-top:2px;
- padding-bottom:2px
- }
- .faq-answer
- {
- display: block;
- margin: 4pt 1em 0.5em 1em;
- }
- </style>
- </head>
- <body>
- <h1>EABase
- </h1>
- <h3>What is EABase?
- </h3>
- <p>EABase is a small set of header files that define platform-independent
- data types and macros. As such it is similar to many projects that have
- a platform.h, system.h, defines.h, etc. file. The difference is that
- EABase is very comprehensive and is the annointed Electronic Arts
- worldwide standard for new projects. </p>
- <p>With respect to the base types and definitions, many of these are
- already present in the most recent C language standard, though the C++
- standard has yet to formally adopt them. EABase bridges the gap and
- defines these values if they aren't already defined. With respect to
- compiler and platform definitions, EABase provides a standard reliable
- means of identifying or specifying compilers, platforms, endian-ness,
- alignment attributes, etc. </p>
- <h3>Usage notes </h3>
- <p>You probably don't want to use float_t and double_t. They are there for C99 compatibility but are rarely what you want to use, since their size is variable.</p>
- <p>Prid8, etc. are somewhat painful and ugly to use and you may find you don't like them. They too are for C99 compatibility.</p>
- <p>intptr_t is not a pointer to an int; it's an int with the same size as a pointer, so you can safely store pointers in it.</p>
- <p>EA::result_type is rarely used and exists for backwards compatibility.</p>
- <h3>What specifically does EABase define?</h3>
- <p>Here we list the things EABase defines, grouped by category. These
- defines are up to date as of the file modification date listed at the
- top of this file.</p>
- <h4>Base Types and Definitions<br>
- </h4>
- <div style="margin-left: 40px;">bool8_t, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float_t, double_t, (EAStdC package implements int128_t)<br>
- intptr_t, uintptr_t, intmax_t, uintmax_t, ssize_t<br>
- char8_t, char16_t, char32_t<br>
- INT8_C(), UINT8_C(), etc.<br>
- INT8_MIN, INT8_MAX, UINT8_MAX, etc.<br>
- PRId8, PRId16, PRId32, etc, SCNd8, SCNd16, SCNd32, etc.</div>
- <h4>Result Types and Definitions<br>
- </h4>
- <div style="margin-left: 40px;">EA::result_type<br>
- EA::SUCCESS, EA::FAILURE<br>
- EA_SUCCEEDED(), EA_FAILED()</div>
- <h4>Compiler Definitions<br>
- </h4>
- <div style="margin-left: 40px;">EA_COMPILER_GNUC<br>
- EA_COMPILER_SN<br>
- EA_COMPILER_MSVC<br>
- EA_COMPILER_METROWERKS<br>
- EA_COMPILER_INTEL<br>
- EA_COMPILER_BORLANDC<br>
- <br>
- EA_COMPILER_VERSION = <integer><br>
- EA_COMPILER_NAME = <string><br>
- EA_COMPILER_STRING = <string><br>
- <br>
- EA_COMPILER_NO_STATIC_CONSTANTS<br>
- EA_COMPILER_NO_TEMPLATE_SPECIALIZATION<br>
- EA_COMPILER_NO_TEMPLATE_PARTIAL_SPECIALIZATION<br>
- EA_COMPILER_NO_MEMBER_TEMPLATES<br>
- EA_COMPILER_NO_MEMBER_TEMPLATE_SPECIALIZATION<br>
- EA_COMPILER_NO_TEMPLATE_TEMPLATES<br>
- EA_COMPILER_NO_MEMBER_TEMPLATE_FRIENDS<br>
- EA_COMPILER_NO_VOID_RETURNS<br>
- EA_COMPILER_NO_COVARIANT_RETURN_TYPE<br>
- EA_COMPILER_NO_DEDUCED_TYPENAME<br>
- EA_COMPILER_NO_ARGUMENT_DEPENDENT_LOOKUP<br>
- EA_COMPILER_NO_EXCEPTION_STD_NAMESPACE<br>
- EA_COMPILER_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS<br>
- EA_COMPILER_NO_EXCEPTIONS<br>
- EA_COMPILER_NO_UNWIND<br>
- <br>
- EA_COMPILER_IS_ANSIC<br>
- EA_COMPILER_IS_C99<br>
- EA_COMPILER_HAS_C99_TYPES<br>
- EA_COMPILER_IS_CPLUSPLUS<br>
- EA_COMPILER_MANAGED_CPP</div>
- <h4>Utilities<br>
- </h4>
- <div style="margin-left: 40px;">
- <p>EA_ALIGN_OF()<br>
- EA_PREFIX_ALIGN()<br>
-
- EA_POSTFIX_ALIGN()<br>
- EA_ALIGNED()<br>
-
- EA_PACKED()<br>
- EA_LIKELY()<br>
- EA_UNLIKELY()<br>
- EA_ASSUME()<br>
- EA_PURE<br>
- EA_WCHAR_T_NON_NATIVE<br>
-
- EA_WCHAR_SIZE<br>
- EA_RESTRICT<br>
- EA_DEPRECATED<br>
- EA_PREFIX_DEPRECATED<br>
- EA_POSTFIX_DEPRECATED <br>
- EA_FORCE_INLINE<br>
- EA_NO_INLINE<br>
- EA_PREFIX_NO_INLINE<br>
- EA_POSTFIX_NO_INLINE <br>
- EA_PASCAL<br>
-
- EA_PASCAL_FUNC()<br>
-
- EA_SSE = [0 | 1]<br>
-
- EA_IMPORT<br>
-
- EA_EXPORT<br>
- EA_OVERRIDE<br>
- EA_INIT_PRIORITY<br>
- EA_MAY_ALIAS<br>
- </p>
- </div>
- <h4>Platform Definitions<br>
- </h4>
- <div style="margin-left: 40px;"><br>
- EA_PLATFORM_MAC<br>
- EA_PLATFORM_OSX<br>
- EA_PLATFORM_IPHONE<br>
- EA_PLATFORM_ANDROID<br>
- EA_PLATFORM_LINUX<br>
- EA_PLATFORM_WINDOWS<br>
- EA_PLATFORM_WIN32<br>
- EA_PLATFORM_WIN64<br>
- EA_PLATFORM_HPUX<br>
- EA_PLATFORM_SUN<br>
- <br>
- EA_PLATFORM_NAME<br>
- EA_PLATFORM_DESCRIPTION<br>
- EA_PROCESSOR_POWERPC, EA_PROCESSOR_X86, EA_PROCESSOR_ARM, etc.<br>
- EA_SYSTEM_LITTLE_ENDIAN, EA_SYSTEM_BIG_ENDIAN<br>
- EA_ASM_STYLE_ATT, EA_ASM_STYLE_INTEL, EA_ASM_STYLE_MOTOROLA<br>
- EA_PLATFORM_PTR_SIZE<br>
- EA_PLATFORM_WORD_SIZE</div>
- <br>
- <hr style="width: 100%; height: 2px;"><br>
- <br>
- <br>
- <br>
- <br>
- <br>
- </body>
- </html>
|