IncludeCPP 3.2.2__tar.gz → 3.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/PKG-INFO +23 -16
- {includecpp-3.2.2 → includecpp-3.2.3}/PKG-INFO +23 -16
- {includecpp-3.2.2 → includecpp-3.2.3}/README.md +22 -15
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/__init__.py +1 -1
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/cli/commands.py +2 -2
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/ai_integration.py +13 -11
- {includecpp-3.2.2 → includecpp-3.2.3}/pyproject.toml +1 -1
- {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/SOURCES.txt +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/dependency_links.txt +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/entry_points.txt +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/requires.txt +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/top_level.txt +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/LICENSE +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/MANIFEST.in +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/__init__.pyi +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/__main__.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/cli/__init__.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/cli/config_parser.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/__init__.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/build_manager.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/cpp_api.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/cpp_api.pyi +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/error_catalog.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/error_formatter.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/exceptions.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/path_discovery.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/settings_ui.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/__init__.py +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/parser.cpp +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/parser.h +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/type_resolver.cpp +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/type_resolver.h +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/py.typed +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/templates/cpp.proj.template +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/requirements.txt +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/setup.cfg +0 -0
- {includecpp-3.2.2 → includecpp-3.2.3}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: IncludeCPP
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.3
|
|
4
4
|
Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
|
|
5
5
|
Home-page: https://github.com/includecpp/includecpp
|
|
6
6
|
Author: IncludeCPP Team
|
|
@@ -197,21 +197,23 @@ The `.cp` format is a declarative binding specification:
|
|
|
197
197
|
```
|
|
198
198
|
SOURCE(math.cpp) math
|
|
199
199
|
|
|
200
|
-
PUBLIC
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
math FUNC(square)
|
|
210
|
-
math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
200
|
+
PUBLIC(
|
|
201
|
+
math CLASS(Calculator) {
|
|
202
|
+
CONSTRUCTOR()
|
|
203
|
+
CONSTRUCTOR(int)
|
|
204
|
+
METHOD(add)
|
|
205
|
+
METHOD_CONST(getValue)
|
|
206
|
+
FIELD(value)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
math FUNC(square)
|
|
210
|
+
math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
211
|
+
)
|
|
211
212
|
```
|
|
212
213
|
|
|
213
214
|
Key directives:
|
|
214
215
|
- `SOURCE(file.cpp) module_name` - links source to module
|
|
216
|
+
- `PUBLIC(...)` - defines public bindings
|
|
215
217
|
- `CLASS(Name)` - expose a class
|
|
216
218
|
- `STRUCT(Name)` - expose a struct
|
|
217
219
|
- `FUNC(name)` - expose a free function
|
|
@@ -219,7 +221,7 @@ Key directives:
|
|
|
219
221
|
- `METHOD_CONST(name, signature)` - for overloaded methods
|
|
220
222
|
- `TEMPLATE_FUNC(name) TYPES(...)` - instantiate template
|
|
221
223
|
- `CONSTRUCTOR(args)` - expose constructor
|
|
222
|
-
- `FIELD(
|
|
224
|
+
- `FIELD(name)` - expose member variable
|
|
223
225
|
- `DEPENDS(mod1, mod2)` - declare module dependencies
|
|
224
226
|
|
|
225
227
|
## Build System
|
|
@@ -413,8 +415,8 @@ MODULE CLASS(Circle) {
|
|
|
413
415
|
MODULE TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
414
416
|
|
|
415
417
|
MODULE STRUCT(Point) TYPES(int, float) {
|
|
416
|
-
FIELD(
|
|
417
|
-
FIELD(
|
|
418
|
+
FIELD(x)
|
|
419
|
+
FIELD(y)
|
|
418
420
|
}
|
|
419
421
|
```
|
|
420
422
|
|
|
@@ -470,6 +472,11 @@ Options:
|
|
|
470
472
|
|
|
471
473
|
# Changelog
|
|
472
474
|
|
|
475
|
+
## v3.2.3
|
|
476
|
+
- Fixed FIELD() syntax: now outputs `FIELD(name)` not `FIELD(type, name)`
|
|
477
|
+
- Fixed documentation: PUBLIC() not PUBLIC:
|
|
478
|
+
- Fixed AI context to match actual .cp syntax
|
|
479
|
+
|
|
473
480
|
## v3.2.2
|
|
474
481
|
- Plugin command now detects comma-separated field declarations (e.g., `double x, y, z;` generates 3 FIELD entries)
|
|
475
482
|
- Fixed `ai optimize` timeout for multi-file operations (increased to 5 minutes)
|
|
@@ -516,4 +523,4 @@ Options:
|
|
|
516
523
|
|
|
517
524
|
---
|
|
518
525
|
|
|
519
|
-
MIT License | v3.2.
|
|
526
|
+
MIT License | v3.2.3 | [GitHub](https://github.com/liliassg/IncludeCPP)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: IncludeCPP
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.3
|
|
4
4
|
Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
|
|
5
5
|
Home-page: https://github.com/includecpp/includecpp
|
|
6
6
|
Author: IncludeCPP Team
|
|
@@ -197,21 +197,23 @@ The `.cp` format is a declarative binding specification:
|
|
|
197
197
|
```
|
|
198
198
|
SOURCE(math.cpp) math
|
|
199
199
|
|
|
200
|
-
PUBLIC
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
math FUNC(square)
|
|
210
|
-
math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
200
|
+
PUBLIC(
|
|
201
|
+
math CLASS(Calculator) {
|
|
202
|
+
CONSTRUCTOR()
|
|
203
|
+
CONSTRUCTOR(int)
|
|
204
|
+
METHOD(add)
|
|
205
|
+
METHOD_CONST(getValue)
|
|
206
|
+
FIELD(value)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
math FUNC(square)
|
|
210
|
+
math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
211
|
+
)
|
|
211
212
|
```
|
|
212
213
|
|
|
213
214
|
Key directives:
|
|
214
215
|
- `SOURCE(file.cpp) module_name` - links source to module
|
|
216
|
+
- `PUBLIC(...)` - defines public bindings
|
|
215
217
|
- `CLASS(Name)` - expose a class
|
|
216
218
|
- `STRUCT(Name)` - expose a struct
|
|
217
219
|
- `FUNC(name)` - expose a free function
|
|
@@ -219,7 +221,7 @@ Key directives:
|
|
|
219
221
|
- `METHOD_CONST(name, signature)` - for overloaded methods
|
|
220
222
|
- `TEMPLATE_FUNC(name) TYPES(...)` - instantiate template
|
|
221
223
|
- `CONSTRUCTOR(args)` - expose constructor
|
|
222
|
-
- `FIELD(
|
|
224
|
+
- `FIELD(name)` - expose member variable
|
|
223
225
|
- `DEPENDS(mod1, mod2)` - declare module dependencies
|
|
224
226
|
|
|
225
227
|
## Build System
|
|
@@ -413,8 +415,8 @@ MODULE CLASS(Circle) {
|
|
|
413
415
|
MODULE TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
414
416
|
|
|
415
417
|
MODULE STRUCT(Point) TYPES(int, float) {
|
|
416
|
-
FIELD(
|
|
417
|
-
FIELD(
|
|
418
|
+
FIELD(x)
|
|
419
|
+
FIELD(y)
|
|
418
420
|
}
|
|
419
421
|
```
|
|
420
422
|
|
|
@@ -470,6 +472,11 @@ Options:
|
|
|
470
472
|
|
|
471
473
|
# Changelog
|
|
472
474
|
|
|
475
|
+
## v3.2.3
|
|
476
|
+
- Fixed FIELD() syntax: now outputs `FIELD(name)` not `FIELD(type, name)`
|
|
477
|
+
- Fixed documentation: PUBLIC() not PUBLIC:
|
|
478
|
+
- Fixed AI context to match actual .cp syntax
|
|
479
|
+
|
|
473
480
|
## v3.2.2
|
|
474
481
|
- Plugin command now detects comma-separated field declarations (e.g., `double x, y, z;` generates 3 FIELD entries)
|
|
475
482
|
- Fixed `ai optimize` timeout for multi-file operations (increased to 5 minutes)
|
|
@@ -516,4 +523,4 @@ Options:
|
|
|
516
523
|
|
|
517
524
|
---
|
|
518
525
|
|
|
519
|
-
MIT License | v3.2.
|
|
526
|
+
MIT License | v3.2.3 | [GitHub](https://github.com/liliassg/IncludeCPP)
|
|
@@ -160,21 +160,23 @@ The `.cp` format is a declarative binding specification:
|
|
|
160
160
|
```
|
|
161
161
|
SOURCE(math.cpp) math
|
|
162
162
|
|
|
163
|
-
PUBLIC
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
math FUNC(square)
|
|
173
|
-
math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
163
|
+
PUBLIC(
|
|
164
|
+
math CLASS(Calculator) {
|
|
165
|
+
CONSTRUCTOR()
|
|
166
|
+
CONSTRUCTOR(int)
|
|
167
|
+
METHOD(add)
|
|
168
|
+
METHOD_CONST(getValue)
|
|
169
|
+
FIELD(value)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
math FUNC(square)
|
|
173
|
+
math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
174
|
+
)
|
|
174
175
|
```
|
|
175
176
|
|
|
176
177
|
Key directives:
|
|
177
178
|
- `SOURCE(file.cpp) module_name` - links source to module
|
|
179
|
+
- `PUBLIC(...)` - defines public bindings
|
|
178
180
|
- `CLASS(Name)` - expose a class
|
|
179
181
|
- `STRUCT(Name)` - expose a struct
|
|
180
182
|
- `FUNC(name)` - expose a free function
|
|
@@ -182,7 +184,7 @@ Key directives:
|
|
|
182
184
|
- `METHOD_CONST(name, signature)` - for overloaded methods
|
|
183
185
|
- `TEMPLATE_FUNC(name) TYPES(...)` - instantiate template
|
|
184
186
|
- `CONSTRUCTOR(args)` - expose constructor
|
|
185
|
-
- `FIELD(
|
|
187
|
+
- `FIELD(name)` - expose member variable
|
|
186
188
|
- `DEPENDS(mod1, mod2)` - declare module dependencies
|
|
187
189
|
|
|
188
190
|
## Build System
|
|
@@ -376,8 +378,8 @@ MODULE CLASS(Circle) {
|
|
|
376
378
|
MODULE TEMPLATE_FUNC(maximum) TYPES(int, float, double)
|
|
377
379
|
|
|
378
380
|
MODULE STRUCT(Point) TYPES(int, float) {
|
|
379
|
-
FIELD(
|
|
380
|
-
FIELD(
|
|
381
|
+
FIELD(x)
|
|
382
|
+
FIELD(y)
|
|
381
383
|
}
|
|
382
384
|
```
|
|
383
385
|
|
|
@@ -433,6 +435,11 @@ Options:
|
|
|
433
435
|
|
|
434
436
|
# Changelog
|
|
435
437
|
|
|
438
|
+
## v3.2.3
|
|
439
|
+
- Fixed FIELD() syntax: now outputs `FIELD(name)` not `FIELD(type, name)`
|
|
440
|
+
- Fixed documentation: PUBLIC() not PUBLIC:
|
|
441
|
+
- Fixed AI context to match actual .cp syntax
|
|
442
|
+
|
|
436
443
|
## v3.2.2
|
|
437
444
|
- Plugin command now detects comma-separated field declarations (e.g., `double x, y, z;` generates 3 FIELD entries)
|
|
438
445
|
- Fixed `ai optimize` timeout for multi-file operations (increased to 5 minutes)
|
|
@@ -479,4 +486,4 @@ Options:
|
|
|
479
486
|
|
|
480
487
|
---
|
|
481
488
|
|
|
482
|
-
MIT License | v3.2.
|
|
489
|
+
MIT License | v3.2.3 | [GitHub](https://github.com/liliassg/IncludeCPP)
|
|
@@ -2825,10 +2825,10 @@ def plugin(plugin_name, files, private):
|
|
|
2825
2825
|
for method in sorted(cls_info['methods']):
|
|
2826
2826
|
f.write(f' METHOD({method})\n')
|
|
2827
2827
|
|
|
2828
|
-
# v3.2.2: Write fields
|
|
2828
|
+
# v3.2.2: Write fields (name only, type not needed in .cp)
|
|
2829
2829
|
if cls_info.get('fields'):
|
|
2830
2830
|
for field_type, field_name in cls_info['fields']:
|
|
2831
|
-
f.write(f' FIELD({
|
|
2831
|
+
f.write(f' FIELD({field_name})\n')
|
|
2832
2832
|
|
|
2833
2833
|
f.write(f' }}\n')
|
|
2834
2834
|
|
|
@@ -35,17 +35,18 @@ CRITICAL KNOWLEDGE FOR INCLUDECPP:
|
|
|
35
35
|
|
|
36
36
|
2. PLUGIN FILE (.cp) FORMAT:
|
|
37
37
|
SOURCE(file.cpp) module_name
|
|
38
|
-
PUBLIC
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
PUBLIC(
|
|
39
|
+
module_name CLASS(MyClass) {
|
|
40
|
+
CONSTRUCTOR()
|
|
41
|
+
CONSTRUCTOR(int, double)
|
|
42
|
+
METHOD(foo)
|
|
43
|
+
METHOD_CONST(bar, const std::string&)
|
|
44
|
+
FIELD(x)
|
|
45
|
+
}
|
|
46
|
+
module_name FUNC(standalone_function)
|
|
47
|
+
module_name TEMPLATE_FUNC(generic_func) TYPES(int, float, double)
|
|
48
|
+
module_name STRUCT(Point) { FIELD(x) FIELD(y) }
|
|
49
|
+
)
|
|
49
50
|
|
|
50
51
|
3. BUILD OUTPUT:
|
|
51
52
|
~/.includecpp/builds/ (Windows: %APPDATA%/IncludeCPP/)
|
|
@@ -58,6 +59,7 @@ CRITICAL KNOWLEDGE FOR INCLUDECPP:
|
|
|
58
59
|
* "no member named X" -> Method not in class public section, or missing METHOD() in .cp
|
|
59
60
|
|
|
60
61
|
5. FIELD DECLARATIONS:
|
|
62
|
+
FIELD(name) - only the field name is needed, not the type.
|
|
61
63
|
Comma-separated fields like `double x, y, z;` are parsed as separate fields.
|
|
62
64
|
'''
|
|
63
65
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "IncludeCPP"
|
|
7
|
-
version = "3.2.
|
|
7
|
+
version = "3.2.3"
|
|
8
8
|
description = "Professional C++ Python bindings with type-generic templates, pystubs and native threading"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|