Everything about Header-only
C/C++ library offered in pure header files
In the context of the C or C++ programming languages, a library is called header-only if the full definitions of all macros, functions and classes comprising the library are visible to the compiler in a header file form, with no separate implementation files or precompiled binaries. Header-only libraries do not need to be separately compiled, packaged and installed in order to be used. All that is required is to point the compiler at the location of the headers, and then #include the header files into the application source. Another advantage is that the compiler's optimizer can do a much better job when all the library's source code is available. Because the compiler has direct access to the implementation, it can inline more code, which can make the compiled executable faster. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Header-onlyA 5-minute orientation
- Skim a recent paper: Hypercomplex: abstract & fast header-only C++ template library for lattice-based cryptosystems in high-dimensional algebrasInfluential work since 2022
- Pick up a classic book: CellThe most-reprinted book on the subject
- Read the landmark paper: mlpack 4: a fast, header-only C++ machine learning libraryCited 32 times
- Go sideways: Single compilation unitA closely related topic
- Go sideways: Modules (C++)A closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
No outline available.
🏆 Landmark papers (most cited)
mlpack 4: a fast, header-only C++ machine learning library
Only Header: a reliable encrypted traffic classification framework without privacy risk
GridFormat: header-only C++-library for grid file I/O
CompactTree: a lightweight header-only C++ library and Python wrapper for ultra-large phylogenetics
Header/footer gallery: creating and sustaining an online only art gallery
Efficient email classification technique: a comparative study of header-only and full-content approaches
Binary Component Model (BCM): A Lightweight Header-Only C++ Framework for Modular Component-Based Systems
nanoflann: A Header-Only KD-Tree Library for Exact Nearest-Neighbor Search on Compile-Time Product Manifolds
🆕 Influential since 2022
📚 Books worth reading
CellStephen King · 2006
Clean CodeRobert C. Martin · 2008
The web application hacker's handbookDafydd Stuttard, Marcus Pinto · 2007
PaperweightStephen Fry · 1992
Winsor McCayWinsor McCay · 2003
Parallel Programming in C with MPI and OpenMPMichael J. Quinn · 2003
RESTful Web ServicesLeonard Richardson, Sam Ruby · 2007
Writing In InDesignDavid Bergsland · 2012
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Single compilation unit Single compilation unit (SCU) is a computer programming technique for the C and C++ languages, which reduces compilation time for programs spanning multiple…
- Modules (C++) Modules in C++ are a feature added in C++20 implementing modular programming as a modern alternative to precompiled headers. A module in C++ comprises…
- Inline (C and C++) In the C and C++ programming languages, an inline function is one qualified with the keyword inline; this serves two purposes: It serves as a compiler…
- Include directive An include directive instructs a text file processor to replace the directive text with the content of a specified file. The act of including may be logical…
- Precompiled header In computer programming, a precompiled header (PCH) is a (C or C++) header file that is compiled into an intermediate form that is faster to process for…
- Linkage (software) In programming, linkage describes how names can or can not refer to the same entity throughout the whole program or one single translation unit. The static…
- Declaration (computer programming) In computer programming, a declaration in a syntactic language construct is the process of specifying identifier properties for its initialization: it…
- Meson (software) Meson (/ˈmɛ.sɒn/) is a software build automation tool for building a codebase. Meson adopts a convention over configuration approach to minimize the data…