|
Common System 0.2.0
Common interfaces and patterns for system integration
|
C++20 concepts for compile-time type validation. More...
Concepts | |
| concept | Invocable |
| A callable type that can be invoked with given arguments. | |
| concept | VoidCallable |
| A callable type that returns void when invoked. | |
| concept | ReturnsResult |
| A callable type that returns a value convertible to the specified type. | |
| concept | NoexceptCallable |
| A callable type that is marked noexcept. | |
| concept | Predicate |
| A callable type that returns a boolean value. | |
| concept | UnaryFunction |
| A callable type that takes a single argument. | |
| concept | BinaryFunction |
| A callable type that takes two arguments. | |
| concept | JobLike |
| A type that satisfies the Job interface requirements. | |
| concept | ExecutorLike |
| A type that satisfies the Executor interface requirements. | |
| concept | TaskFactory |
| A callable that creates a job or task. | |
| concept | AsyncCallable |
| A callable suitable for async execution returning a future. | |
| concept | DelayedCallable |
| A callable suitable for delayed execution. | |
| concept | Container |
| A type that satisfies basic container requirements. | |
| concept | SequenceContainer |
| A container that provides sequential access and modification. | |
| concept | AssociativeContainer |
| A container that provides key-based access. | |
| concept | MappingContainer |
| A container that maps keys to values. | |
| concept | ResizableContainer |
| A container that can be resized. | |
| concept | ClearableContainer |
| A container that can be cleared. | |
| concept | InsertableContainer |
| A container that supports insert operations. | |
| concept | ErasableContainer |
| A container that supports erase operations. | |
| concept | RandomAccessContainer |
| A container that supports random access via operator[]. | |
| concept | BoundedContainer |
| A container with fixed maximum capacity. | |
| concept | ThreadSafeContainer |
| A container designed for thread-safe access. | |
| concept | PoolableContainer |
| A container that supports object pooling operations. | |
| concept | CircularBuffer |
| A container that operates as a circular buffer. | |
| concept | Resultable |
| A type that can contain either a value or an error. | |
| concept | Unwrappable |
| A type that supports value extraction (unwrapping). | |
| concept | Mappable |
| A type that supports monadic map operations. | |
| concept | Chainable |
| A type that supports monadic chaining (flatMap/and_then). | |
| concept | MonadicResult |
| A complete Result-like type with all monadic operations. | |
| concept | OptionalLike |
| A type that represents an optional value (present or absent). | |
| concept | ErrorInfo |
| A type that contains error information. | |
| concept | ValueOrError |
| A type that holds either a value or error information. | |
| concept | EventType |
| A type that can be used as an event in the event bus. | |
| concept | EventHandler |
| A callable that can handle events of a specific type. | |
| concept | EventFilter |
| A callable that filters events based on criteria. | |
| concept | TimestampedEvent |
| An event type that includes a timestamp. | |
| concept | NamedEvent |
| An event type that includes a module or source name. | |
| concept | ErrorEvent |
| An event type representing an error. | |
| concept | MetricEvent |
| An event type representing a metric measurement. | |
| concept | ModuleLifecycleEvent |
| An event type representing module lifecycle changes. | |
| concept | FullErrorEvent |
| A complete error event with module, message, code, and timestamp. | |
| concept | FullMetricEvent |
| A complete metric event with timestamp. | |
| concept | EventBusLike |
| A type that satisfies the event bus interface requirements. | |
| concept | LogLevelEnumLike |
| A type that represents log levels. | |
| concept | BasicLogger |
| A type that provides basic logging functionality. | |
| concept | LevelAwareLogger |
| A type that supports log level filtering. | |
| concept | FlushableLogger |
| A type that supports flushing buffered log messages. | |
| concept | StructuredLogger |
| A type that supports structured log entries. | |
| concept | LoggerLike |
| A complete logger type satisfying ILogger interface requirements. | |
| concept | LoggerProviderLike |
| A type that can provide logger instances. | |
| concept | LoggerRegistryLike |
| A type that manages named logger instances. | |
| concept | CounterMetric |
| A type that supports counter metric operations. | |
| concept | GaugeMetric |
| A type that supports gauge metric operations. | |
| concept | HistogramMetric |
| A type that supports histogram metric operations. | |
| concept | TimingMetric |
| A type that supports timing metric operations. | |
| concept | MetricCollectorLike |
| A complete metric collector type satisfying IMetricCollector interface. | |
| concept | NamedImplementation |
| A type that provides implementation name for debugging. | |
| concept | MetricCollectorProviderLike |
| A type that can provide metric collector instances. | |
| concept | ServiceInterface |
| A type that can be used as a service interface. | |
| concept | ServiceImplementation |
| A type that implements a service interface. | |
| concept | ServiceFactory |
| A callable that creates service instances. | |
| concept | SimpleServiceFactory |
| A callable that creates service instances without container access. | |
| concept | ServiceContainerLike |
| A type that satisfies service container interface requirements. | |
| concept | ServiceScopeLike |
| A type that represents a service scope. | |
| concept | InjectableService |
| A service that can be automatically injected. | |
| concept | SharedService |
| A type that can be shared via shared_ptr. | |
| concept | ConfigSection |
| A serializable configuration section type. | |
| concept | Validatable |
| A type that can validate its own state. | |
| concept | ServiceWithDependencies |
| A service that declares its dependencies. | |
| concept | InitializableService |
| A service that requires explicit initialization. | |
| concept | DisposableService |
| A service that requires explicit cleanup. | |
| concept | ModuleRegistrar |
| A class-based module registrar for ecosystem DI integration. | |
| concept | HttpSender |
| A type that can send HTTP requests. | |
| concept | HttpAvailabilityChecker |
| A type that can check HTTP client availability. | |
| concept | HttpClientLike |
| A complete HTTP client type satisfying IHttpClient interface. | |
| concept | HttpClientProviderLike |
| A type that can provide HTTP client instances. | |
| concept | UdpConnectable |
| A type that supports UDP connection operations. | |
| concept | UdpSender |
| A type that can send UDP datagrams. | |
| concept | UdpConnectionStatus |
| A type that can report UDP connection status. | |
| concept | UdpClientLike |
| A complete UDP client type satisfying IUdpClient interface. | |
| concept | UdpClientProviderLike |
| A type that can provide UDP client instances. | |
| concept | TransportClient |
| A type that represents any transport client (HTTP or UDP). | |
| concept | Sendable |
| A type that can send data. | |
| concept | Receivable |
| A type that can receive data. | |
C++20 concepts for compile-time type validation.
This namespace contains all concept definitions used throughout the common_system library. Concepts provide:
Concept Categories:
Result/Optional (core.h):
Callable (callable.h):
Event (event.h):
Service (service.h):
Logger (logger.h):
Monitoring (monitoring.h):
Transport (transport.h):