aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/EABase.html309
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 = &lt;integer&gt;<br>
+
+EA_COMPILER_NAME = &lt;string&gt;<br>
+
+EA_COMPILER_STRING = &lt;string&gt;<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>