File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -52,6 +52,31 @@ codebase_structure:
5252 description: "Smart pointer definitions for memory management"
5353
5454code_patterns:
55+ cpp_compatibility:
56+ standard: "C++98"
57+ description: |
58+ SRS codebase must be compatible with C++98 standard. Do NOT use C++11 or later features.
59+ forbidden_features:
60+ - "auto keyword for type deduction"
61+ - "nullptr (use NULL instead)"
62+ - "Range-based for loops (use traditional for loops)"
63+ - "Lambda expressions"
64+ - "std::unique_ptr, std::shared_ptr (use SRS custom smart pointers instead)"
65+ - "Initializer lists"
66+ - "decltype"
67+ - "constexpr"
68+ - "override and final keywords"
69+ - "Strongly typed enums (enum class)"
70+ - "Static assertions (static_assert)"
71+ - "Variadic templates"
72+ - "Rvalue references and move semantics"
73+ allowed_patterns:
74+ - "Traditional for loops: for (int i = 0; i < size; ++i)"
75+ - "NULL instead of nullptr"
76+ - "typedef instead of using for type aliases"
77+ - "SRS custom smart pointers (SrsUniquePtr, SrsSharedPtr)"
78+ - "Traditional function pointers instead of std::function"
79+
5580 memory_management:
5681 - pattern: "SrsUniquePtr<T>"
5782 description: "Smart pointer for unique ownership - preferred for single ownership scenarios"
You can’t perform that action at this time.
0 commit comments