Skip to content

Commit 73a83b4

Browse files
Initial commit of the project, including configuration files, build scripts, logging framework, and example applications. Added CMake support and various logging components for structured logging functionality.
1 parent aa448bc commit 73a83b4

File tree

317 files changed

+57779
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

317 files changed

+57779
-0
lines changed

.clang-format

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# VertexNova C++ .clang-format
2+
AlignConsecutiveAssignments: false
3+
AlignConsecutiveDeclarations: false
4+
AlignEscapedNewlines: Left
5+
AlignOperands: true
6+
AlignTrailingComments: true
7+
AllowAllArgumentsOnNextLine: false
8+
AllowAllConstructorInitializersOnNextLine: false
9+
AllowShortBlocksOnASingleLine: false
10+
AllowShortCaseLabelsOnASingleLine: false
11+
AllowShortFunctionsOnASingleLine: Inline
12+
AllowShortIfStatementsOnASingleLine: false
13+
AllowShortLoopsOnASingleLine: false
14+
AlwaysBreakAfterReturnType: None
15+
AlwaysBreakTemplateDeclarations: Yes
16+
AlwaysBreakBeforeMultilineStrings: false
17+
BasedOnStyle: Google
18+
BinPackArguments: false
19+
BinPackParameters: false
20+
BraceWrapping:
21+
AfterClass: false
22+
AfterControlStatement: true
23+
AfterEnum: false
24+
AfterFunction: false
25+
AfterNamespace: false
26+
AfterStruct: false
27+
BeforeCatch: false
28+
BeforeElse: false
29+
IndentBraces: false
30+
BreakBeforeBinaryOperators: NonAssignment
31+
BreakBeforeBraces: Attach
32+
BreakConstructorInitializers: BeforeComma
33+
ColumnLimit: 120
34+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
35+
Cpp11BracedListStyle: true
36+
DerivePointerAlignment: false
37+
IncludeBlocks: Preserve
38+
IncludeCategories:
39+
- Regex: '^"vertexnova/'
40+
Priority: 1
41+
- Regex: '^"'
42+
Priority: 2
43+
- Regex: "^<.*>"
44+
Priority: 3
45+
- Regex: ".*"
46+
Priority: 4
47+
IndentCaseLabels: true
48+
IndentGotoLabels: false
49+
IndentPPDirectives: None
50+
IndentWidth: 4
51+
KeepEmptyLinesAtTheStartOfBlocks: false
52+
MaxEmptyLinesToKeep: 1
53+
NamespaceIndentation: None
54+
PointerAlignment: Left
55+
SortIncludes: false
56+
SpaceAfterCStyleCast: false
57+
SpaceAfterTemplateKeyword: false
58+
SpaceBeforeAssignmentOperators: true
59+
SpaceBeforeCpp11BracedList: false
60+
SpaceBeforeCtorInitializerColon: true
61+
SpaceBeforeInheritanceColon: true
62+
SpaceBeforeParens: ControlStatements
63+
SpaceInEmptyParentheses: false
64+
SpacesInAngles: false
65+
SpacesInParentheses: false
66+
SpacesInSquareBrackets: false
67+
TabWidth: 4
68+
UseTab: Never

.clang-tidy

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# VertexNova .clang-tidy configuration
2+
# Enforces naming conventions and modern C++ practices
3+
4+
Checks: >
5+
-*,
6+
readability-identifier-naming,
7+
modernize-use-nullptr,
8+
modernize-use-override,
9+
modernize-use-auto,
10+
modernize-use-using,
11+
modernize-use-nodiscard,
12+
modernize-use-noexcept,
13+
modernize-loop-convert,
14+
modernize-make-unique,
15+
modernize-make-shared,
16+
modernize-pass-by-value,
17+
modernize-return-braced-init-list,
18+
cppcoreguidelines-init-variables,
19+
cppcoreguidelines-prefer-member-initializer,
20+
cppcoreguidelines-avoid-magic-numbers,
21+
bugprone-argument-comment,
22+
bugprone-macro-parentheses,
23+
bugprone-unused-return-value,
24+
performance-for-range-copy,
25+
performance-implicit-conversion-in-loop,
26+
performance-move-const-arg,
27+
performance-unnecessary-copy-initialization,
28+
performance-unnecessary-value-param
29+
30+
WarningsAsErrors: ''
31+
32+
HeaderFilterRegex: 'src/vertexnova/.*'
33+
34+
CheckOptions:
35+
# Classes/Structs: PascalCase (no suffix)
36+
- key: readability-identifier-naming.ClassCase
37+
value: CamelCase
38+
- key: readability-identifier-naming.StructCase
39+
value: CamelCase
40+
41+
# Abstract classes (interfaces): I prefix + PascalCase
42+
- key: readability-identifier-naming.AbstractClassCase
43+
value: CamelCase
44+
- key: readability-identifier-naming.AbstractClassPrefix
45+
value: 'I'
46+
47+
# Enums: PascalCase
48+
- key: readability-identifier-naming.EnumCase
49+
value: CamelCase
50+
51+
# Enum values: e prefix + PascalCase
52+
- key: readability-identifier-naming.EnumConstantCase
53+
value: CamelCase
54+
- key: readability-identifier-naming.EnumConstantPrefix
55+
value: 'e'
56+
57+
# Type aliases: PascalCase
58+
- key: readability-identifier-naming.TypeAliasCase
59+
value: CamelCase
60+
- key: readability-identifier-naming.TypedefCase
61+
value: CamelCase
62+
63+
# Functions/Methods: camelCase
64+
- key: readability-identifier-naming.FunctionCase
65+
value: camelBack
66+
- key: readability-identifier-naming.MethodCase
67+
value: camelBack
68+
- key: readability-identifier-naming.PublicMethodCase
69+
value: camelBack
70+
- key: readability-identifier-naming.ProtectedMethodCase
71+
value: camelBack
72+
- key: readability-identifier-naming.PrivateMethodCase
73+
value: camelBack
74+
- key: readability-identifier-naming.VirtualMethodCase
75+
value: camelBack
76+
77+
# Local variables and parameters: snake_case
78+
- key: readability-identifier-naming.VariableCase
79+
value: lower_case
80+
- key: readability-identifier-naming.LocalVariableCase
81+
value: lower_case
82+
- key: readability-identifier-naming.ParameterCase
83+
value: lower_case
84+
85+
# Private members: snake_case with trailing underscore
86+
- key: readability-identifier-naming.PrivateMemberCase
87+
value: lower_case
88+
- key: readability-identifier-naming.PrivateMemberSuffix
89+
value: '_'
90+
91+
# Protected members: snake_case with trailing underscore
92+
- key: readability-identifier-naming.ProtectedMemberCase
93+
value: lower_case
94+
- key: readability-identifier-naming.ProtectedMemberSuffix
95+
value: '_'
96+
97+
# Public members: snake_case (no suffix)
98+
- key: readability-identifier-naming.PublicMemberCase
99+
value: lower_case
100+
101+
# Static members: s_ prefix
102+
- key: readability-identifier-naming.ClassMemberCase
103+
value: lower_case
104+
- key: readability-identifier-naming.StaticVariableCase
105+
value: lower_case
106+
- key: readability-identifier-naming.StaticVariablePrefix
107+
value: 's_'
108+
109+
# Global variables: g_ prefix
110+
- key: readability-identifier-naming.GlobalVariableCase
111+
value: lower_case
112+
- key: readability-identifier-naming.GlobalVariablePrefix
113+
value: 'g_'
114+
115+
# Constants: k prefix + PascalCase
116+
- key: readability-identifier-naming.ConstexprVariableCase
117+
value: CamelCase
118+
- key: readability-identifier-naming.ConstexprVariablePrefix
119+
value: 'k'
120+
- key: readability-identifier-naming.StaticConstantCase
121+
value: CamelCase
122+
- key: readability-identifier-naming.StaticConstantPrefix
123+
value: 'k'
124+
125+
# Namespaces: lowercase
126+
- key: readability-identifier-naming.NamespaceCase
127+
value: lower_case
128+
129+
# Macros: UPPER_CASE
130+
- key: readability-identifier-naming.MacroDefinitionCase
131+
value: UPPER_CASE
132+
133+
# Template parameters: PascalCase
134+
- key: readability-identifier-naming.TemplateParameterCase
135+
value: CamelCase
136+
- key: readability-identifier-naming.TypeTemplateParameterCase
137+
value: CamelCase
138+
- key: readability-identifier-naming.ValueTemplateParameterCase
139+
value: CamelCase
140+
141+
# Modernize settings
142+
- key: modernize-use-auto.MinTypeNameLength
143+
value: 5
144+
- key: modernize-use-auto.RemoveStars
145+
value: false
146+
- key: modernize-loop-convert.MinConfidence
147+
value: reasonable
148+
- key: modernize-pass-by-value.IncludeStyle
149+
value: google

0 commit comments

Comments
 (0)