Summary
The common_system library has been enhanced with C++20 Concepts support (see common_system#192). This issue tracks updating thread_system to use the improved common_system.
Background
The common_system enhancement (PR #194) introduces:
- Error Clarity: Concise concept violation messages replacing verbose SFINAE template errors
- Self-Documentation: Explicit type requirements without boilerplate
- Code Simplification: ~30% reduction in
std::enable_if patterns
- Better IDE Support: Improved auto-completion and type hint accuracy
New Concept Categories
- Result/Optional:
Resultable, Unwrappable, Mappable
- Executor:
Invocable, VoidCallable, JobLike, ExecutorLike
- Event Bus:
EventType, EventHandler, EventFilter
- Service Container:
ServiceInterface, ServiceImplementation, ServiceFactory
- Configuration:
ConfigSection, Validatable
Tasks
Related
- common_system#192 - Original C++20 Concepts enhancement issue
- common_system#194 - Merged PR implementing the concepts
Summary
The
common_systemlibrary has been enhanced with C++20 Concepts support (see common_system#192). This issue tracks updatingthread_systemto use the improvedcommon_system.Background
The
common_systemenhancement (PR #194) introduces:std::enable_ifpatternsNew Concept Categories
Resultable,Unwrappable,MappableInvocable,VoidCallable,JobLike,ExecutorLikeEventType,EventHandler,EventFilterServiceInterface,ServiceImplementation,ServiceFactoryConfigSection,ValidatableTasks
common_systemsubmodule/dependency to latest versionRelated