Justin Boswell
88a7048513
Added support for template deduction guides
...
* Added DeductionGuide as a language element
2023-12-05 17:49:14 -05:00
Dustin Spicuzza
64c5290318
Merge pull request #89 from robotpy/fn-constraints
...
Move non-template requires to the function
2023-12-03 01:04:11 -05:00
Dustin Spicuzza
85f93ec09e
Move non-template requires to the function
...
- Methods can have a requires() that refer to the class template without
an explicit function template
- This is a breaking change, but since the values aren't parsed yet I
can't imagine anyone is using it
2023-12-02 04:51:00 -05:00
Dustin Spicuzza
73a81d3107
Retain doxygen comments for using declarations and type aliases
2023-12-02 04:24:10 -05:00
Dustin Spicuzza
cafb594179
Allow fields to be marked inline
...
- Fixes #84
2023-11-19 12:47:09 -05:00
Dustin Spicuzza
37cd3abee9
Parse C++20 requirement constraints for functions/classes
...
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
2023-10-13 02:34:21 -04:00
Dustin Spicuzza
2957e70823
Add support for C++20 abbreviated function templates
...
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
2023-10-13 02:34:17 -04:00
Dustin Spicuzza
e935959ad3
Implement basic concept parsing
...
- requires clauses are collected into a Value and not interpreted at
this time
2023-10-10 03:45:55 -04:00
Dustin Spicuzza
51d29a0791
Support multiple template declarations on a class or function
...
- Fixes #20
2023-10-05 02:29:25 -04:00
Dustin Spicuzza
a5ce9a24e6
Add pretty formatting for types and template specializations
...
- Fixes #3
2023-10-04 03:16:33 -04:00
Dustin Spicuzza
e6908386ea
Add documentation clarifying FundamentalSpecifier
2023-09-30 16:28:42 -04:00
Dustin Spicuzza
c3fbe4c16c
breaking change: Remove operator type and make part of Function
...
- Unifies free function operators and method operators -- otherwise users
would need to parse the operator themselves to deal with free function operators
- We don't have any releases yet, so there are no stability guarantees
2023-09-23 21:45:30 -04:00
Dustin Spicuzza
67c1f2b17d
Reorder enum in file
2023-09-19 00:19:39 -04:00
Dustin Spicuzza
2fe350bf35
Parse namespace alias and emit it
...
- Fixes #43
2023-03-17 01:24:23 -04:00
Dustin Spicuzza
ace1d09d9d
Add throw/noexcept tests
2022-12-09 03:28:50 -05:00
Dustin Spicuzza
ff645920b8
Capture doxygen comments for namespaces
2022-12-09 01:16:54 -05:00
Dustin Spicuzza
15e4e0b879
Add support for parsing method implementations outside of a class
...
- Fixes #10
2022-12-08 01:26:16 -05:00
Dustin Spicuzza
ddad7cb6b1
Add support for parsing explicit template instantiation
2022-12-07 08:36:31 -05:00
Dustin Spicuzza
f29c1d5a30
mypy: address issues parsing const/volatile/*/& items
2022-01-02 21:52:36 -05:00
Dustin Spicuzza
2eb13496fa
mypy: function return types marked as optional
...
Only methods can have optional return types, but it has to be applied to function
as well as method, otherwise mypy complains.
I considered making a special return type for constructors/destructors, but it
seemed to just make things too messy. Time will tell if this was the right
decision.
2022-01-02 21:45:06 -05:00
Dustin Spicuzza
5d564687c3
Add support for conversion operators
...
- Fixes #9
2021-11-29 22:56:43 -05:00
Dustin Spicuzza
92f8e72779
Support parsing MSVC calling conventions
...
- Fixes #5
- Fixes #33
2021-11-27 21:40:10 -05:00
Dustin Spicuzza
3c5174b52f
Allow typedefs of function definitions
...
- Fixes #13
2021-11-26 01:11:50 -05:00
Dustin Spicuzza
3c51a30efe
Support using 'typename' qualifier before type names
...
- Fixes #7
2021-01-09 12:54:45 -05:00
Dustin Spicuzza
8c9f8fd8ba
Add support for C++17 trailing return types
2021-01-04 21:55:29 -05:00
Dustin Spicuzza
23b95f09f2
Make mypy happier
2021-01-01 15:49:43 -05:00
Dustin Spicuzza
1392fceeb5
Add documentation
2020-12-31 01:55:29 -05:00
Dustin Spicuzza
cd110bbe29
Parse template specialization arguments
...
- Falls back to Value when it can't figure it out
2020-12-30 03:14:35 -05:00
Dustin Spicuzza
ef5c22972b
Initial commit
2020-12-28 03:43:37 -05:00