diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/EABase.html | 309 |
1 files changed, 309 insertions, 0 deletions
diff --git a/doc/EABase.html b/doc/EABase.html new file mode 100644 index 0000000..0be38e2 --- /dev/null +++ b/doc/EABase.html @@ -0,0 +1,309 @@ +<!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> |