| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
is(): correct is() for types (#1204)
* Remove invalid check Non-polymorphic types cannot be casted with dynamic_cast * Remove dead code std::is_polymorphic_v<X> when X is pointer returns false that means that later std::is_pointer_v<X> will always be false * Remove extra parens * Fix formating * Add test for is with polymorphic types * is(): add support for pointers Support for is<X*>(ptr) * Update of tests to support is() with pointers * is(): add support for nullptr_t * is(): add test for nullptr_t * Add tests against unrelated type * is(): made is() compile-time when possible * is(): fix test when is() returns std::bool_constant * Fix polymorphic tests * Remove empty .cpp.output files
Separation of metafunction and runtime regex code. (#1219)
* Separation of metafunction and runtime regex code. * Move metafunction work into reflect.h2 Instead of a separate file in ./source * Update of regression tests. * Merge regex metafunction into cpp2::meta namespace The run-time support library stays in `cpp2util.h` and can use the `cpp2::regex::` subnamespace there The compile-time parts stay in `reflect.h2` and use the `cpp2::meta::` namespace there Eventually this can be generalized for user-written metafunctions when those are supported, but for right now this keeps things consistent for the metafunctions supplied in-the-box with cppfront * Add `add_runtime_support_include` to meta For metafunctions that require runtime support via #includes to be injected into lowered Cpp1 programs Also cleanup while I'm at it: - remove headers from `common.h` that are now already included via `cpp2util.h` - line up some thing that got un-lined-up (OCD) --------- Co-authored-by: Herb Sutter <herb.sutter@gmail.com>
Update for sanitizing regex results and matcher strings. (#1224)
* Update for sanitizing regex results and matcher strings. * Update for regression tests.
Make the home page duplicate the doc nav structure
Instead of having the 'getting started' subpage serve as the home page -> move that to `welcome/overview.md` So people coming to the home page from mobile devices can see all the sections and pages on the site Tradeoff: The home page for desktop browsers may be a bit duplicative if the lhs navbar is also visible
I had been using the Cpp1 syntax since I had nothing substantially better. But that did leave the grammar divergence between
using std::vector; // use one thing from std
using namespace std; // use everything in std
But then I remembered the `_` wildcard, so with this change instead of `using namespace NNN ;` we write `using NNN::_ ;`. This makes them more consistent:
using std::vector ; // use one thing from std
using std::_ ; // use everything in std
Of course the latter still lowers to Cpp1 `using namespace std;`Docs: fix a few typos like lamba -> lambda (#1242)
* Docs: fix a few typos like lamba -> lambda * Update objects.md Signed-off-by: Herb Sutter <herb.sutter@gmail.com> --------- Signed-off-by: Herb Sutter <herb.sutter@gmail.com> Co-authored-by: Herb Sutter <herb.sutter@gmail.com>
Support .sum and .contains for ..= and ..< ranges
As nonmembers, UFCS will find them
Examples:
std::cout << "((1 ..= 20).sum())$\n"; // prints 210
std::cout << "((1 ..< 20).sum())$\n"; // prints 190
std::cout << "((1 ..= 20).contains(0))$\n"; // prints false
std::cout << "((1 ..= 20).contains(1))$\n"; // prints trueSupport local function default template/ordinary parameters
This unlocks idioms useful in the regression tests, to disable test cases not supported on all compilers. An example that we can now do without macros:
: <V: bool = gcc_clang_msvc_min_versions(1400, 1600, 1920)> () = {
if constexpr V
{
// use std::views stuff without compiler bugs...
// note this goes beyond what feature test macros allow,
// because the feature may be implemented (and so
// report it's available) but bugs may block the actual use
}
} ();
And expand boolean value string output to explicitly-boolean-convertible types* CI Fix a C++23 template specialization issue * CI Work around requires support issue in GCC 10 * CI Add explanatory comments to type safety tests * CI Remove unused file
Fix default argument lowering (#1262)
There should now be enough test cases to exercise all the places you can put default arguments Also, only emit Cpp1 lambdas as 'mutable' if there are captures (when it matters) so that pure function expressions are not 'mutable' Closes #1235 Signed-off-by: Herb Sutter <herb.sutter@gmail.com>
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.7.3...v0.7.4
| Back | FazBrowse Home | New Git URL |