Summary
Create C++20 module files for common_system as the foundation layer (Tier 0) of the unified system ecosystem.
Parent Epic
Part of #256 (C++20 Module Migration - Cross-System Preparation)
Prerequisites
Proposed Module Structure
// Primary module interface
export module kcenon.common;
export import kcenon.common.result;
export import kcenon.common.interfaces;
export import kcenon.common.di;
export import kcenon.common.patterns;
Module Partitions
| Partition |
Contents |
:result |
Result, error_info, VoidResult |
:interfaces |
Base interfaces (IMetricCollector, etc.) |
:di |
Dependency injection utilities |
:patterns |
Design patterns (Observer, etc.) |
File Structure
src/modules/
├── common.cppm # Primary module interface
├── result.cppm # Result<T> partition
├── interfaces.cppm # Interfaces partition
├── di.cppm # DI partition
└── patterns.cppm # Patterns partition
CMake Configuration
cmake_minimum_required(VERSION 3.28)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_SCAN_FOR_MODULES ON)
add_library(kcenon_common)
target_sources(kcenon_common
PRIVATE FILE_SET CXX_MODULES
FILES
src/modules/common.cppm
src/modules/result.cppm
src/modules/interfaces.cppm
src/modules/di.cppm
src/modules/patterns.cppm
)
Tasks
Acceptance Criteria
Migration Timeline
This is Phase 2 work (Release N+3) per EPIC #256:
- Phase 1 (Refactoring) must be complete first
- All dependent systems wait for this module
Related
Summary
Create C++20 module files for common_system as the foundation layer (Tier 0) of the unified system ecosystem.
Parent Epic
Part of #256 (C++20 Module Migration - Cross-System Preparation)
Prerequisites
Proposed Module Structure
Module Partitions
:result:interfaces:di:patternsFile Structure
CMake Configuration
Tasks
common.cppmprimary interfaceresult.cppmpartitioninterfaces.cppmpartitiondi.cppmpartitionpatterns.cppmpartitionAcceptance Criteria
Migration Timeline
This is Phase 2 work (Release N+3) per EPIC #256:
Related