The Magister Catalyst framework
Magister Catalyst
API reference.
The Catalyst SDK, from a single value to a running application. Browse by topic, open a header, or search directly for a method.
Essentials
7 headersA convenience include for everyday Catalyst programs, with short scalar and vector type names.
mc/core.h common.hFundamental concepts, numeric limits, hashes, index ranges, and output helpers.
mc/common.h cvarA dynamic value for scalars, collections, symbols, expressions, and native objects.
mc/cvar.h cstrA byte string with familiar string operations and concise text, conversion, and hashing helpers.
mc/cstr.h error.hFramework errors, assertions, stack traces, and exception translation.
mc/error.h CProgramApplication options, configuration, signals, and process-wide lifecycle helpers.
mc/CProgram.h resource.hRegister resources for coordinated application shutdown.
mc/resource.hContainers
15 headersA fixed-size array with tuple access, standard array operations, and Catalyst conveniences.
mc/CArray.h CArrayBufA non-owning view of contiguous elements, with dynamic or fixed extent.
mc/CArrayBuf.h CVectorA growable contiguous sequence with standard vector operations and concise additions.
mc/CVector.h CDequeA double-ended sequence with efficient insertion and removal at either end.
mc/CDeque.h CListA linked sequence with stable element positions and splice operations.
mc/CList.h CSVectorA bounded vector that stores a variable number of elements within a fixed capacity.
mc/CSVector.h CPVectorA fixed-size arithmetic vector with component-wise operations and numeric vector aliases.
mc/CPVector.h CVectorSetA sorted unique sequence with vector-style indexing and set operations.
mc/CVectorSet.h CMapAn ordered key–value container with unique keys and convenient lookup and merging.
mc/CMap.h CMultimapAn ordered key–value container that permits repeated keys.
mc/CMultimap.h CHashMapA hash-based key–value container with unique keys.
mc/CHashMap.h CFlatMapAn ordered map backed by contiguous key and value sequences.
mc/CFlatMap.h CSetAn ordered collection of unique keys.
mc/CSet.h CHashSetA hash-based collection of unique keys.
mc/CHashSet.h CFlatSetAn ordered set with contiguous storage and set-algebra conveniences.
mc/CFlatSet.hData & serialization
7 headersOwned or borrowed byte buffers with a read cursor, serialization, compression, and file I/O.
mc/CBuffer.h encode.hBase64, Base62, URL encoding, Unicode conversion, and compact data tags.
mc/encode.h compress.hCompress and decompress complete byte strings using gzip.
mc/compress.h data.hRead CSV headers and rows, or convert a complete CSV document into values.
mc/data.h CSONParserParse CSON text or files into Catalyst values and expression trees.
mc/CSONParser.h CSONGeneratorWrite values and symbolic expressions as CSON or JSON.
mc/CSONGenerator.h CRegexCompile a regular expression, match whole strings, or collect all occurrences.
mc/CRegex.hSystem & concurrency
7 headersSimple functions for paths, files, environment variables, processes, and system information.
mc/system.h time.hCalendar conversion, Unix timestamps, nanosecond timestamps, and the cosmic time scale.
mc/time.h CRandomPseudorandom samples, distribution helpers, shuffling, and selection.
mc/CRandom.h thread.hMutexes, scoped locks, semaphores, asynchronous calls, and thread groups.
mc/thread.h pool.hA queue-driven thread pool and the FIFO `CPool` convenience alias.
mc/pool.h queue.hConcurrent FIFO, blocking, priority, and timed work queues.
mc/queue.h CCommandStart a process, stream its input and output, wait for completion, and control its lifetime.
mc/CCommand.hDatabases
5 headersLocal persistent databases and typed, indexed row tables.
mc/CDatabase.h CSQLExecute SQL over local Catalyst tables and deliver result rows to a delegate.
mc/CSQL.h CDBA concise PostgreSQL interface for schemas, parameterized queries, and transactions.
mc/CDB.h CESPersist entries, named attributes, directed relationships, and indexed numeric queries.
mc/CES.h CTheaterStore JPEG-compressed movie frames and metadata, then export encoded video.
mc/CTheater.hNetworking
5 headersExchange native Catalyst messages, observe callbacks, and make synchronous calls.
mc/CMessenger.h CServerAccept native messenger connections and delegate application admission.
mc/CServer.h CHTTPMake HTTP requests with text, JSON-value, or binary responses.
mc/CHTTP.h CHTTPServerServe files from a document root with configurable request handling.
mc/CHTTPServer.h CWebSocketA TLS WebSocket client for Catalyst values, with queued or delegated receiving.
mc/CWebSocket.hLanguages
3 headersGraphics & compute
5 headersEncode, decode, and place JPEG images in four-channel pixel buffers.
mc/image.h CDrawDraw paths, shapes, text, and images into an RGBA bitmap.
mc/CDraw.h · macOS CRenderRender models, procedural geometry, lighting, and animation into a bitmap.
mc/CRender.h · macOS CPlotBuild a plot from a declarative value configuration and named numeric data.
mc/CPlot.h · macOS CGLRunLoad and dispatch a compiled Metal kernel using ordinary Catalyst buffers and values.
mc/CGL.h · macOS · MetalLanguage bindings
2 headersSDK support
4 headersThe forwarding interface of the proxy returned by string-key indexing on a value.
mc/cvar_proxy.h CTable_.hRow descriptors, field selections, row concepts, and supporting typed-table declarations.
mc/database/CTable_.h database/CVarTable_A schema-driven row table whose records and query descriptions are dynamic values.
mc/database/CVarTable_.h Key.hAn included support header used by local-database index templates.
mc/database/Key.hUsing the SDK
Include individual headers with <mc/…>. C++ interfaces use namespace mc; the C ABI is in CCatalyst.h.
find_package(Catalyst CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE Catalyst::Shared)Catalyst::Catalyst supplies the headers and their dependencies. Mac graphics and compute use Catalyst::MacShared. Catalyst::Framework and Catalyst::MacFramework select the corresponding macOS framework bundles.
Every SDK header has a page. Overloads are grouped by name; routine accessors and operators are listed without redundant explanations. Type links lead to their declaring header. Inherited methods are documented with their base class. Standard-library integration and SDK support declarations are included.
Declarations reflect the current C++23 SDK. Availability of standard-library facilities follows the installed compiler and library. Pages marked macOS require the Mac library.
Use the search field to find a class, function, or method. Each header page lists declarations alongside behavior and ownership notes.