d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
---
|
|
paths:
|
|
- "**/*.cpp"
|
|
- "**/*.hpp"
|
|
- "**/*.cc"
|
|
- "**/*.hh"
|
|
- "**/*.cxx"
|
|
- "**/*.h"
|
|
- "**/CMakeLists.txt"
|
|
---
|
|
# C++ Coding Style
|
|
|
|
> This file extends [common/coding-style.md](../common/coding-style.md) with C++ specific content.
|
|
|
|
## Modern C++ (C++17/20/23)
|
|
|
|
- Prefer **modern C++ features** over C-style constructs
|
|
- Use `auto` when the type is obvious from context
|
|
- Use `constexpr` for compile-time constants
|
|
- Use structured bindings: `auto [key, value] = map_entry;`
|
|
|
|
## Resource Management
|
|
|
|
- **RAII everywhere** — no manual `new`/`delete`
|
|
- Use `std::unique_ptr` for exclusive ownership
|
|
- Use `std::shared_ptr` only when shared ownership is truly needed
|
|
- Use `std::make_unique` / `std::make_shared` over raw `new`
|
|
|
|
## Naming Conventions
|
|
|
|
- Types/Classes: `PascalCase`
|
|
- Functions/Methods: `snake_case` or `camelCase` (follow project convention)
|
|
- Constants: `kPascalCase` or `UPPER_SNAKE_CASE`
|
|
- Namespaces: `lowercase`
|
|
- Member variables: `snake_case_` (trailing underscore) or `m_` prefix
|
|
|
|
## Formatting
|
|
|
|
- Use **clang-format** — no style debates
|
|
- Run `clang-format -i <file>` before committing
|
|
|
|
## Reference
|
|
|
|
See skill: `cpp-coding-standards` for comprehensive C++ coding standards and guidelines.
|