Skip to main content
Email Password   helpLost your password?

Articles by Christopher Diggins (15 articles found)

Average article rating: 4.26

Files and Folders

Quick and Dirty Series: C++ FileSize() function
Last Updated: 15 Dec 2004   Page Views: 99,308   Rating: 3.64/5    Votes: 24   Popularity: 5.03   Bookmark Count: 25
Finding the size of the file in C++ in a portable manner is not trivial!

C / C++ Language

Automated Delegation
Last Updated: 16 Aug 2005   Page Views: 19,670   Rating: 3.26/5    Votes: 11   Popularity: 3.39   Bookmark Count: 14
A technique for automated delegation and dynamic inheritance.
Polymorphism without Planning
Last Updated: 27 Nov 2004   Page Views: 24,410   Rating: 3.46/5    Votes: 14   Popularity: 3.97   Bookmark Count: 18
The OOTL uses a technique of allowing run-time polymorphism on objects, without requiring them to plan for it.
Polymorphism without Planning (under the hood)
Last Updated: 28 Nov 2004   Page Views: 40,681   Rating: 4.84/5    Votes: 12   Popularity: 5.22   Bookmark Count: 29
This article explains the techniques used to allow the interface reference types to be polymorphic on any type which provides matching function signatures.
Using Interfaces for Object Oriented Primitives
Last Updated: 7 Dec 2004   Page Views: 33,496   Rating: 4.56/5    Votes: 11   Popularity: 4.74   Bookmark Count: 24
An introduction to the OOTL (Object Oriented Template Library). Describes how the OOTL uses a bleeding-edge technique of defining interface types in C++ to provide lightweight object-oriented primitives with run-time polymorphism through an IObject interface.
Program Objects: Reusing and Redirecting C++ Programs
Last Updated: 6 Jan 2005   Page Views: 27,686   Rating: 4.55/5    Votes: 12   Popularity: 4.91   Bookmark Count: 24
By writing programs as objects, it can be easy to reuse programs, and redirect them to one another.
High Performance Dynamic Typing
Last Updated: 8 Aug 2005   Page Views: 58,829   Rating: 4.68/5    Votes: 21   Popularity: 6.19   Bookmark Count: 37
A high-performance alternative to boost::any.
Piping between Functions
Last Updated: 8 Jan 2005   Page Views: 28,709   Rating: 4.05/5    Votes: 8   Popularity: 3.66   Bookmark Count: 18
A trivial way to pipe the cout from one function to the cin of another.
Event Driven Programming using Template Specialization
Last Updated: 18 Dec 2004   Page Views: 30,691   Rating: 3.85/5    Votes: 16   Popularity: 4.64   Bookmark Count: 21
Template specializations can be used as call-backs instead of functors or function pointers to create an event-driven framework.
An Event Driven Windows GUI Framework
Last Updated: 20 Dec 2004   Page Views: 36,238   Rating: 4.05/5    Votes: 9   Popularity: 3.86   Bookmark Count: 17
Shows how to build a simple event based Windows GUI framework using template function specializations.

Algorithms & Recipes

A Regular Expression Tokenizer using the YARD Parser
Last Updated: 12 Dec 2004   Page Views: 28,861   Rating: 4.69/5    Votes: 15   Popularity: 5.52   Bookmark Count: 22
A tokenizer using the YARD parser which can recognize regular expressions.
Parsing XML in C++ using the YARD Parser
Last Updated: 21 Dec 2004   Page Views: 45,933   Rating: 4.77/5    Votes: 19   Popularity: 6.10   Bookmark Count: 32
Provides a set of tools for building XML parsers in C++ using the YARD recursive descent parser.
Cat - A Statically Typed Programming Language Interpreter in C#
Last Updated: 4 Nov 2006   Page Views: 22,515   Rating: 4.78/5    Votes: 13   Popularity: 5.33   Bookmark Count: 29
This article contains the public domain implementation of an interpreter for a statically typed stack-based programming language in C# called Cat. The accompanying article is a high-level description of how the various modules work, a brief description of the language, and links to related work.

Design and Architecture

Union Lists: Single Value, Multiple Types
Last Updated: 20 Jan 2005   Page Views: 36,558   Rating: 4.24/5    Votes: 14   Popularity: 4.86   Bookmark Count: 21
A union list is a simple union style type which can hold one value of any of a fixed number of types.
Fast Indexable Stacks
Last Updated: 19 Nov 2005   Page Views: 27,434   Rating: 4.44/5    Votes: 14   Popularity: 5.08   Bookmark Count: 23
Licence: A Public Domain dedication   
I provide an implementation of fast-growing indexable stacks which outperforms std::vector and std::deque.

Christopher Diggins


Member
  I've been programming personal computers since my I got my first Atari 400 in 1980. I am currently self-employed as a consultant and author.

  I've worked as a professional programmer for over 12 years. I have written for Doctor Dobbs Journal, and C++ Users Journal. I also contributed to the C++ Cookbook released by O'Reilly.

  My area of research is the design and implementation of programming languages. My current project is the Cat programming language which is a cross between Forth and Haskell.
Occupation: Web Developer
Location: Canada Canada


Last Updated 21 Nov 2009 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009