Core Module Reference

The clanCore library is the base library used by all other ClanLib libraries. It provides a basic framework with common functionality needed by almost all types of applications.

Platform abstraction

  • clan::System - General system helper functions
  • clan::Thread, clan::Runnable - Threading support
  • clan::Mutex, clan::MutexSection - Simple mutex support
  • clan::InterlockedVariable - Atomic integer operations
  • clan::Event - OS level waitable event
  • clan::RegistryKey - C++ class for accessing the Windows registry
  • clan::ComPtr - Smart pointer template for Component Object Model (COM) objects

General utility classes

Thread run-loop

  • clan::KeepAlive - Application loop helper
  • clan::KeepAliveObject - Interface for objects participating in the thread keep-alive processing loop
  • clan::Timer - Timer class that invokes a callback on a specified interval

Signals

Math

Text

All strings are assumed to be UTF-8, unless otherwise specified. std::string is used as the main string class.

XML

JSON

The clan::JsonValue class allows you to parse or generate JSON strings.

I/O devices

  • clan::IODevice - Input/Output stream abstraction
  • clan::File - Class for opening files
  • clan::IODevice_Memory - IODevice for memory buffers
  • clan::PipeConnection - IODevice for pipes
  • clan::PipeListen - Accepts incoming pipe connections

File systems

Zip files

Resource management

Crypto

Error reporting