• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / bdd_test / 19217384083

10 Nov 2025 01:03AM UTC coverage: 85.38% (-0.8%) from 86.172%
19217384083

push

github

web-flow
Feature/cpp20 modernization (#27)

* Modernize SFINAE to C++20 concepts in dot_graph_generator

- Replace complex SFINAE traits with clean C++20 concepts for property detection
- Convert node property detection: has_get_label, has_get_shape, has_get_style,
  has_get_fillcolor, has_get_fontcolor, has_get_tooltip
- Convert edge property detection: has_get_edge_label, has_get_edge_style,
  has_get_edge_color, has_get_edge_fontcolor
- Update if constexpr statements to use concepts instead of ::value syntax
- Add concepts header and improve type safety with convertible_to requirements
- Update documentation to reflect C++20 concepts usage instead of SFINAE
- Maintain full backward compatibility while improving code readability

Benefits:
- Cleaner, more readable template metaprogramming
- Better error messages for concept violations
- More expressive intent with convertible_to requirements
- Reduced template instantiation complexity

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Add std::format and std::ranges modernization

- Replace string concatenation patterns with std::format for cleaner syntax
- Error messages in expression_parser.cpp with formatted strings
- Variable name generation using format instead of concatenation
- Node ID generation in DOT output modernized

- Modernize algorithms to use std::ranges:
- Convert std::sort to std::ranges::sort for variable name sorting
- Convert std::transform to std::ranges::transform for node conversion

- Add required headers: format and ranges

Benefits:
- std::format provides type-safe, efficient string formatting
- Better performance than string concatenation
- std::ranges algorithms are more concise and expressive
- Improved readability and maintainability
- Full C++20 feature utilization

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* feat: C++20 modernization - scoped enum class and consteval constants

- Convert enum TokenType to enum class for better type safety
- Implement con... (continued)

681 of 845 branches covered (80.59%)

Branch coverage included in aggregate %.

32 of 43 new or added lines in 5 files covered. (74.42%)

668 of 735 relevant lines covered (90.88%)

227.12 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

81.89
/src/expression_parser.cpp


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc