Objectively
Ultra-lightweight object oriented framework for GNU C.
Loading...
Searching...
No Matches
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>
40#include <Objectively/Enum.h>
41#include <Objectively/Error.h>
42#include <Objectively/Hash.h>
49#include <Objectively/List.h>
50#include <Objectively/Lock.h>
51#include <Objectively/Log.h>
52#include <Objectively/Null.h>
53#include <Objectively/Number.h>
55#include <Objectively/Object.h>
58#include <Objectively/Once.h>
59#include <Objectively/Pointer.h>
61#include <Objectively/Regexp.h>
64#include <Objectively/Set.h>
65#include <Objectively/String.h>
67#include <Objectively/Thread.h>
68#include <Objectively/Types.h>
69#include <Objectively/URL.h>
79#include <Objectively/Vector.h>
Arrays.
A wrapper for placing boolean primitives into collections, etc.
Classes describe the state and behavior of an Objectively type.
POSIX Threads conditional variables.
Data buffers.
Microsecond-precision immutable dates.
Date formatting and parsing.
Key-value stores.
Named enumerations.
Encapsulation for error conditions.
Utilities for calculating hash values.
Hash tables with user-supplied hash and equality functions for raw C types.
Index paths represent the path to an element or node within a tree or graph structure.
Collections of unique index values.
JSONContext class for JSON serialization and deserialization.
A minimal JSONPath implementation.
Standard JSONSerializer and JSONDeserializer functions for C struct fields.
Doubly-linked lists of raw C pointers.
POSIX Threads locks.
A Log4J-inspired log appender.
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.
Pointers provide Object encapsulation for raw C pointers.
Growable arrays of raw C pointers.
An HTTP REST client backed by URLSession.
Extended POSIX regular expressions.
Resources provide an abstraction for file and stream resources.
Sets.
UTF-8 strings.
StringReaders provide convenient parsing of text based files.
POSIX Threads.
Objectively base types.
Uniform Resource Locators (RFC 3986).
A cache for HTTP responses.
Cached HTTP responses.
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.
Mutable contiguous storage for C types.