• Stars
    star
    706
  • Rank 64,138 (Top 2 %)
  • Language
    C++
  • License
    Creative Commons ...
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A C/C++ header to help move #ifdefs out of your code

Hedley

Documentation

For documentation, see https://nemequ.github.io/hedley/. There is an easy-to-read user guide and full API documentation.

Brief Description

Hedley is C/C++ a header file designed to smooth over some platform-specific annoyances. The idea is to get rid of a bunch of the #ifdefs in your code and put them in Hedley instead or, if you haven't bothered with platform-specific functionality in your code, to make it easier to do so. This code can be used to improve:

  • Static analysis โ€” better warnings and errors help you catch errors before they become a real issue.
  • Optimizations โ€” compiler hints help speed up your code.
  • Manage public APIs
    • Visibility โ€” keeping internal symbols private can make your program faster and smaller.
    • Versioning โ€” help consumers avoid functions which are deprecated or too new for all the platforms they want to support.
  • C/C++ interoperability โ€” make it easier to use code in both C and C++ compilers.
  • โ€ฆ and more!

You can safely use Hedley in your public API. If someone else includes a newer version of Hedley later on, the newer Hedley will just redefine everything, and if someone includes an older version it will simply be ignored.

It should be safe to use any of Hedley's features; if the platform doesn't support the feature it will be silently ignored.

More Repositories

1

portable-snippets

Collection of miscellaneous portable C snippets.
C
606
star
2

munit

ยตnit is a small testing framework for C
C
579
star
3

configure-cmake

Autotools-style configure script wrapper around CMake
83
star
4

icc-travis

Directions for installing ICC compiler on Travis CI
Shell
49
star
5

vala-extra-vapis

This repository is no longer active; please use https://gitlab.gnome.org/GNOME/vala-extra-vapis instead.
Vala
43
star
6

salieri

Source-code annotation language (SAL) compatibility header
C++
39
star
7

lzo

Unofficial mirror of LZO
C
36
star
8

vala-girs

Collection of GIRs and VAPIs for the Vala toolchain
Vala
28
star
9

liblzf

Git mirror of the liblzf CVS repository.
C
21
star
10

compfuzz

Fuzzing compression libraries
C
19
star
11

gnome-cmake

CMake modules for various GNOME components
CMake
17
star
12

pgi-travis

Install PGI Community Edition on Travis CI
Shell
16
star
13

pre-defined-macros

Lists of pre-defined macros for various C/C++ compilers
C
16
star
14

squash-corpus

Designing a new corpus for lossless general-purpose compression
15
star
15

wav

Type-safe C/C++ API for WASM SIMD.
C
12
star
16

lzjb

LZJB implementation forked from FreeBSD
C
10
star
17

lzmat

git mirror of LZMAT (http://www.matcode.com/lzmat.htm)
C
7
star
18

ftdi-eeprom

Tool for writing to the EEPROM of FTDI devices.
C
6
star
19

bump

Concurrency management for GObject/GIO based projects, especially those written in Vala.
Vala
6
star
20

bzip2

NO LONGER ACTIVE; please use the new official bzip2 repository at https://gitlab.com/federicomenaquintero/bzip2. This was an unofficial mirror of bzip2, including the historical releases I could find.
C
5
star
21

wasm-simd-data

Performance data for WASM SIMD instructions.
C
5
star
22

doboz

git mirror of https://bitbucket.org/attila_afra/doboz
C
5
star
23

sqlheavy

Automatically exported from code.google.com/p/sqlheavy
Vala
4
star
24

nemequ.github.io

HTML
3
star
25

lz4x

An optimized LZ4 compressor
C
3
star
26

attic

Miscellaneous code I don't (yet?) have a better place for but don't want to throw away.
C++
3
star
27

tornado

Unofficial mirror of Tornado
C++
2
star
28

waspr

WebAssembly SIMD Programming Reference
TypeScript
2
star
29

ti-compiler-install-travis

Script to install Texas Instruments' compilers on Travis CI
Shell
2
star
30

safe-math

Portable overflow-safe math. Moved into https://github.com/nemequ/portable-snippets
C
2
star
31

ci-noise

Commits I want to test in CI without generateing noise in other repos. Project will completely change depending on what needs testing.
C
1
star
32

ternarylogic-compiler-test

C++
1
star
33

planet-vala

Configuration for Planet Vala
1
star