Compile-time FSM 구현 — 템플릿으로 상태 전이 검증
constexpr state machine — 컴파일 타임에 전이 검증, runtime 코드 0.
228개의 포스트 · 9/10 페이지
constexpr state machine — 컴파일 타임에 전이 검증, runtime 코드 0.
타입 안전한 상태 머신 — enum + switch부터 std::variant, etl::fsm까지.
enum class + bit operators — type-safe 비트 플래그. 의도하지 않은 변환 차단.
SPSC queue, MPMC stack, ring buffer — lock-free 자료구조 구현 패턴.
Atomic, CAS, memory order — mutex 없이 동시성. 임베디드의 ISR-safe 패턴.
Embedded Template Library — heap 없는 STL 대체, fsm, message router 포함.
객체가 자기 next pointer 보유 — 동적 할당 없는 linked list와 tree.
Owner, observer, borrower — 객체 lifetime의 명확한 책임 할당.
unique_ptr vs shared_ptr vs raw pointer — 임베디드의 소유권 모델 선택.
-fno-rtti 환경에서 type info 없이 다형성 — enum tag, std::variant, CRTP.
C++23의 Result type — Rust 같은 monadic 에러 처리, 예외 없이 풍부한 정보.
Result types, error chains, exception-free RAII — 실용적 에러 시스템 구축 패턴.
-fno-exceptions 환경에서 에러 처리 — error code, std::optional, std::expected.
C++17 polymorphic allocator — 같은 컨테이너 타입에 다른 메모리 출처 주입.
고정 크기 블록 + free list — 임베디드의 표준 allocator 구현.
STL allocator interface — 표준 컨테이너의 메모리 출처를 제어.
임베디드의 첫 번째 원칙 — new/malloc 없이 modern C++의 STL 같은 컨테이너 활용.
Template 제약을 명시 — SFINAE의 가독성 개선, 에러 메시지 명확화, 자체 문서화.
std::is_*, std::enable_if, SFINAE — 컴파일 타임 type 정보로 코드 분기와 검증.
Curiously Recurring Template Pattern — virtual 함수 없이 컴파일 타임 다형성. vtable 0, 간접 호출 0.
Template instantiation의 코드 bloat — 추적, 통제, 공통 부분 분리 패턴.
함수 템플릿과 클래스 템플릿 — 컴파일 타임 다형성으로 type-safe + zero-cost generic 코드.
C++20의 컴파일 타임 강제 — consteval은 함수 호출을, constinit은 변수 초기화를 컴파일 타임에 강제합니다.
컴파일 타임 sort, search, 문자열 — constexpr 알고리즘의 한계와 가능성.