核心

核心是纯接口或小型实用程序的集合,这些接口或实用程序在整个项目中使用。核心组件是唯一不完全遵循组件模式的组件。核心和其他组件之间唯一的主要区别是使用的头文件前缀是 core/<sub_dir> 而不是 components/core/<sub_dir>

平台

平台是我们为项目在其上执行的物理硬件和操作系统给出的名称。我们支持多个平台,可以通过以下定义来识别

  • PLATFORM__ANDROID

  • PLATFORM__WINDOWS

  • PLATFORM__LINUX_D2D

  • PLATFORM__LINUX

  • PLATFORM__MACOS

使用这些平台对于示例应该是尽可能透明的。另一方面,如果需要,组件可能会添加特定于平台的代码路径。

应用程序可以使用 CUSTOM_MAIN(context_name) 宏来创建跨平台入口点

#include <core/platform/entrypoint.hpp>

CUSTOM_MAIN(context)
{
    context.arguments();
    context.external_storage_directory();
    context.temp_directory();

    // Components using platform specific contexts
    FileSystem fs = FileSystem::from_context(context);
}

实用程序

  • 错误 - 错误处理宏的集合

  • 哈希 - 哈希函数的集合

  • 字符串 - 字符串实用程序的集合