absl::btree_map — sorted·cache-friendly B-tree
Part 5-04: absl::btree_map — std::map(red-black tree)의 B-tree 대체, cache locality와 메모리 효율, sorted 컨테이너의 새 기준.
80개의 포스트 · 3/4 페이지
Part 5-04: absl::btree_map — std::map(red-black tree)의 B-tree 대체, cache locality와 메모리 효율, sorted 컨테이너의 새 기준.
Part 5-03: absl::node_hash_map — flat_hash_map의 노드 기반 변형, value pointer 안정성 보장, std::unordered_map 마이그레이션 경로.
Part 5-02: absl::flat_hash_set — flat_hash_map의 set 대응, value-as-key 구조, dedup/membership 워크로드 패턴.
Part 5-01: absl::flat_hash_map — Swiss Table 채택 배경, std::unordered_map 대비 cache locality와 성능, pointer/iterator 안정성 트레이드오프.
Part 4-08: absl::CEscape / CHexEscape / Base64Escape / WebSafeBase64Escape — 안전한 문자열 이스케이프와 base64 인코딩의 모든 변형.
Part 4-07: absl::ascii_* — locale 독립 ASCII 분류, AsciiStrToLower / AsciiStrToUpper / StripAsciiWhitespace.
Part 4-06: absl::StrFormat — printf 호환 syntax의 type-safe 포맷팅, FormatSpec 컴파일 타임 검증, FormatUntyped.
Part 4-05: absl::StrJoin — 임의 컨테이너를 구분자로 합치기, Formatter 커스터마이즈, PairFormatter / DereferenceFormatter.
Part 4-04: absl::StrSplit — Delimiter 추상화, ByChar/ByString/ByAnyChar/ByLength, predicate 필터링, 임의 컨테이너 자동 변환.
Part 4-03: absl::StrCat — variadic 문자열 연결, AlphaNum 어댑터, operator+ / ostringstream과의 성능 차이.
Part 4-02: string_view를 실전에서 잘못 쓰는 패턴 — dangling reference, c_str 변환 비용, 임시 std::string 바인딩.
Part 4-01: absl::string_view — 복사 없는 문자열 전달, lifetime 책임, std::string_view와의 관계.
Part 3-05: Status와 exception/std::error_code/gRPC status 사이 변환 — 라이브러리 경계에서의 안전한 처리.
Part 3-04: Status payload — URL-based key로 구조화된 컨텍스트를 첨부, gRPC error_details와 연동.
Part 3-03: RETURN_IF_ERROR와 ASSIGN_OR_RETURN — 에러 전파를 한 줄로. 매크로 expansion 분석과 안전한 사용법.
Part 3-02: absl::StatusOr<T> — 값과 에러를 한 type에 묶는 패턴, 내부 메모리 레이아웃, monadic 스타일.
Part 3-01: absl::Status — Google이 exception 없이 production C++ 에러를 다루는 방법. canonical error code, payload, 내부 표현.
Part 2-08: ABSL_GUARDED_BY, ABSL_LOCKS_EXCLUDED — clang의 thread safety analysis로 mutex 사용을 컴파일 시점에 검증.
Part 2-07: raw_logging — heap, exception, mutex 없이 동작하는 로깅. signal handler, ASan early init, OOM 경로.
Part 2-06: absl::memory — make_unique polyfill, allocator_traits, RawPtr, uninitialized helpers.
Part 2-05: Abseil의 platform conformance 정책 — 지원 컴파일러, 표준 버전, deprecated_if_unavailable.
Part 2-04: absl::negation, absl::conjunction, absl::void_t — C++17 type_traits의 C++14 polyfill과 SFINAE 활용.
Part 2-03: absl::LogSeverity — INFO/WARNING/ERROR/FATAL 4단계, NormalizeLogSeverity, 외부 시스템 연동.
Part 2-02: ABSL_PREDICT_TRUE/FALSE — 분기 예측 힌트의 실제 효과, 코드 레이아웃 영향.