Skip to content
Derek Nylen edited this page Jun 10, 2017 · 20 revisions

The Duck Object Library is an object system and library for "duck-typed" programming in C. It takes many cues from Objective-C, CoreFoundation and COM, yet is small and readable enough to be easily ported to platforms where using those is inconvenient.

Project Goals and Roadmap

Quick Start

Building the library
Initializing the Runtime
Object Life Cycle

Runtime

Classes & Objects
Interfaces & Message Handlers
Properties
Reflection

Libary

These pages are links to the library headers, of which some are better documented than others. Eventually the headers may be supplemented by external documentation, but for now it's just a good place to get a grasp on where things are.

Data Types

DKData | DKString

DKBoolean | DKNumber | DKPair | DKStruct

Containers

Interfaces
DKCollection | DKList | DKDictionary | DKSet

Types
DKArray | DKLinkedList | DKHashTable | DKBinaryTree | DKGraph

Common Interfaces

DKAllocation | DKCopying

DKComparison | DKConversion | DKDescription | DKLocking

DKBuffer | DKStream

Thread Synchronization

DKThread | DKThreadPool

DKMutex | DKCondition | DKReadWriteLock

File I/O

DKFile - File Streams
DKEgg - Binary Serialization
DKJSON - JSON Serialization
DKShell - Multipart data
DKXML - XML Parsing

Everything Else

DKEnum - Mapping Strings to Integars
DKPredicate - Logical Predicates

DKPlatform - System Utilities
DKConfig - Build Configuration
DKEncoding - Binary Type Info
DKUnicode - Unicode Support Functions

Low-Level Storage Types
DKByteArray | DKGenericArray | DKGenericHashTable | DKNodePool

Third Party

Clone this wiki locally