API
1. Modules
1.1 types
제공 기능
- 기본 정수 타입 alias
- byte 타입
- Span 기반 메모리 view
- enum class bitmask helper
주요 역할
- 엔진 전반에서 사용하는 기본 타입 제공
- 다른 gbase 모듈의 기반 레이어
1.2 id_sys
제공 기능
- StrongId
- IdTag
- 타입 안전 ID 정의
주요 역할
- 서로 다른 ID 타입 간 혼용 방지
- 엔진 객체 식별자 타입 제공
1.3 macro
제공 기능
- assert 매크로
- compiler attribute wrapper
- preprocessor helper
- static assertion wrapper
주요 역할
- 엔진 전반에서 사용하는 공통 매크로 제공
1.4 utility
제공 기능
- noncopyable
- nonmovable
- scope_exit
- scope_fail
- scope_success
- overloaded visitor helper
- narrow_cast
- defer
주요 역할
- 범용 RAII 유틸리티 제공
- 타입 및 실행 helper 제공
2. Namespace
- 모든 API는
gbase네임스페이스에 정의된다
3. Header Access
- 모든 기능은 다음 경로를 통해 접근할 수 있다
#include <gbase/...>
4. Module Dependency
gbase 내부 모듈은 다음 의존 규칙을 따른다.
types
▲
│
macro
▲
│
id_sys
▲
│
utility
types는 최하위 레이어이다macro는types에 의존할 수 있다id_sys는types에 의존할 수 있다utility는types와macro에 의존할 수 있다- 순환 의존성은 허용되지 않는다