Skip to content

[MODULE] Create C++20 module files for kcenon.container #222

Description

@kcenon

Summary

Create C++20 module files for container_system as part of the Tier 1 core libraries.

Parent Epic

Part of kcenon/common_system#256 (C++20 Module Migration - Cross-System Preparation)

Prerequisites

Proposed Module Structure

// Primary module interface (single module - small codebase)
export module kcenon.container;

import kcenon.common;  // Tier 0 dependency

// Export all container functionality

Module Design

Container system is small enough to be a single module without partitions.

File Structure

src/modules/
└── container.cppm           # Single module file

CMake Configuration

cmake_minimum_required(VERSION 3.28)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_SCAN_FOR_MODULES ON)

add_library(kcenon_container)
target_sources(kcenon_container
    PRIVATE FILE_SET CXX_MODULES
    FILES
        src/modules/container.cppm
)

Tasks

  • Complete deprecation.h removal ([REFACTOR] Remove deprecation.h - C++20 Module preparation #221) first
  • Wait for common_system module (Tier 0) completion
  • Create module directory structure
  • Create container.cppm module file
  • Update CMakeLists.txt for module support
  • Verify no circular module dependencies
  • Update all tests to use modules
  • Update documentation

Acceptance Criteria

  • Module builds successfully with CMake 3.28+
  • Successfully imports kcenon.common module
  • All existing tests pass with module
  • No circular dependencies
  • Header-based build still works (transition period)

Migration Timeline

This is Phase 2 work (Release N+3) per EPIC:

  • Blocked by: common_system module, deprecation.h removal

Related

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions