macOS
brew install doublecpplocal Homebrew formula metadata
brew
Double dispatch in C++. Version 0.6.3 via Homebrew; verified from local package data.
install
brew install doublecpplocal Homebrew formula metadata
overview
Double dispatch in C++
history
Doublecpp is a small SourceForge-era C++ preprocessor by Lorenzo Bettini for experimenting with double dispatch and multimethod-style branching in C++. It adds a linguistic construct that is translated into ordinary single-dispatch C++ code.
The project homepage connects Doublecpp to academic work by Lorenzo Bettini, Sara Capecchi, and Betti Venneri on translating double dispatch into single dispatch. The homepage cites a 2004 workshop paper, a 2005 ENTCS publication, and a 2006 Software: Practice and Experience article, placing the tool in the early-2000s C++ language-extension and generative-programming scene.
Doublecpp was distributed as GPL free software with classic autotools build steps: `./configure`, `make`, and `make install`. Its official page also documented anonymous CVS access on SourceForge, which is a strong historical marker of its era.
SourceForge's file feed shows releases from 2006 through 2009, ending with doublecpp 0.6.3. Homebrew keeps it installable as a formula, but there is little evidence of broad modern adoption beyond package preservation and occasional C++ multimethod interest.
The project is best understood as a niche research-to-tooling artifact rather than a mainstream C++ development dependency.
Doublecpp preprocesses C++ sources that use its double-dispatch construct, then emits C++ code where the correct branch is selected dynamically according to the runtime type of the receiver and first argument.
The homepage warned users to build generated code with GCC 3.x because earlier GCC versions had problems with Doublecpp output. That note is now mostly historical, but it shows how closely the tool was tied to compiler behavior of its time.
Doublecpp is interesting to package historians because it preserves a small language-extension experiment from the SourceForge/CVS/autotools period. It is the kind of package that survives in Homebrew not because everyone needs it, but because long-tail developer tools matter to reproducibility and software archaeology.
It also illustrates a recurring package-manager role: keeping academic or experimental compilers and preprocessors reachable long after their primary research moment has passed.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
doublecpp | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://doublecpp.sourceforge.net/
install metadata
| Package key | brew:doublecpp |
|---|---|
| Version | 0.6.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/doublecpp |
| Homepage | https://doublecpp.sourceforge.net/ |
| Upstream docs | https://doublecpp.sourceforge.net/ |
| License | GPL-2.0-or-later |
| Source archive | https://downloads.sourceforge.net/project/doublecpp/doublecpp/0.6.3/doublecpp-0.6.3.tar.gz |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | doublecpp |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.