Public API

This page lists exported symbols of CTSolvers.Core.


From CTSolvers.Core

CTSolvers.Core

CTSolvers.CoreModule

Core utilities and common types for CTSolvers.

This module provides:

  • Common abstract types used across the package
  • Display formatting utilities for consistent output
  • Shared constants and helper functions

AbstractTag

CTSolvers.Core.AbstractTagType
abstract type AbstractTag

Abstract type for tag dispatch pattern used to handle extension-dependent implementations.

This type is used for multiple dispatch in validation functions and other contexts where behavior depends on loaded extensions (e.g., Enzyme, Zygote, CUDA).

Example

struct MyTag <: AbstractTag end

function validate_backend(tag::MyTag, backend::Symbol)
    # Tag-specific validation logic
end

See also: Extension-based validation patterns in Modelers module

get_format_codes

CTSolvers.Core.get_format_codesFunction
get_format_codes(io::IO) -> NamedTuple

Get ANSI formatting codes based on terminal color support.

Returns a NamedTuple with formatting codes for consistent display across all show() methods.

Fields

  • bold: Bold text
  • reset: Reset all formatting
  • name: Bold blue for names (options, types, etc.)
  • type: Cyan for types
  • value: Green for values
  • keyword: Yellow for keywords/aliases
  • count: Magenta for counts
  • label: Gray for labels/descriptions

Example

fmt = get_format_codes(io)
print(io, fmt.name, "option_name", fmt.reset, "::", fmt.type, "Int", fmt.reset)

Notes

  • Automatically detects color support via get(io, :color, false)
  • Returns empty strings for all codes if colors are not supported
  • Ensures consistent color scheme across the entire package