Objectively 1.0.0
Ultra-lightweight object oriented framework for GNU C.
Objectively.h
Go to the documentation of this file.
1/*
2 * Objectively: Ultra-lightweight object oriented framework for GNU C.
3 * Copyright (C) 2014 Jay Dolan <jay@jaydolan.com>
4 *
5 * This software is provided 'as-is', without any express or implied
6 * warranty. In no event will the authors be held liable for any damages
7 * arising from the use of this software.
8 *
9 * Permission is granted to anyone to use this software for any purpose,
10 * including commercial applications, and to alter it and redistribute it
11 * freely, subject to the following restrictions:
12 *
13 * 1. The origin of this software must not be misrepresented; you must not
14 * claim that you wrote the original software. If you use this software
15 * in a product, an acknowledgment in the product documentation would be
16 * appreciated but is not required.
17 *
18 * 2. Altered source versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software.
20 *
21 * 3. This notice may not be removed or altered from any source distribution.
22 */
23
24#pragma once
25
31#include <Objectively/Array.h>
32#include <Objectively/Boole.h>
33#include <Objectively/Class.h>
35#include <Objectively/Data.h>
36#include <Objectively/Date.h>
39#include <Objectively/Enum.h>
40#include <Objectively/Error.h>
41#include <Objectively/Hash.h>
46#include <Objectively/Lock.h>
47#include <Objectively/Log.h>
54#include <Objectively/Null.h>
55#include <Objectively/Number.h>
57#include <Objectively/Object.h>
60#include <Objectively/Once.h>
61#include <Objectively/Regexp.h>
63#include <Objectively/Set.h>
64#include <Objectively/String.h>
66#include <Objectively/Thread.h>
67#include <Objectively/Types.h>
68#include <Objectively/URL.h>
77#include <Objectively/Value.h>
78#include <Objectively/Vector.h>
Immutable arrays.
A wrapper for placing boolean primitives into collections, etc.
Classes describe the state and behavior of an Objectively type.
POSIX Threads conditional variables.
Immutable data buffers.
Microsecond-precision immutable dates.
Date formatting and parsing.
Immutable key-value stores.
Named enumerations.
Encapsulation for error conditions.
Utilities for calculating hash values.
Index paths represent the path to an element or node within a tree or graph structure.
Immutable collections of unique index values.
A minimal JSONPath implementation.
JSON serialization and introspection.
POSIX Threads locks.
A Log4J-inspired log appender.
Mutable arrays.
Mutable data buffers.
Mutable key-value stores.
Mutable collections of unique index values.
Mutable sets.
Mutable UTF-8 strings.
The Null sentinel.
A wrapper for placing numeric primitives into collections, etc.
Number formatting and parsing.
Object is the root Class of The Objectively Class hierarchy.
Helpers for at-most-once semantics.
An abstraction for discrete units of work, or tasks.
OperationQueues provide a thread of execution for Operations.
Extended POSIX regular expressions.
Resources provide an abstraction for file and stream resources.
Immutable sets.
Immutable UTF-8 strings.
StringReaders provide convenient parsing of text based files.
POSIX Threads.
Objectively base types.
Uniform Resource Locators (RFC 3986).
A protocol-agnostic abstraction for requesting resources via URLs.
A protocol-agnostic abstraction for receiving resources via URLs.
A management context for loading resources via URLs.
Configuration bundle for URLSession.
Use data tasks to send and receive Data in-memory.
Use download tasks to save remote resources to file.
URL session tasks are handles to pending URL operations.
Use upload tasks to send files directly from disk.
Values provide Object encapsulation for C types.
Mutable contiguous storage for C types.