CodeWrangler Dot Net

This page last
updated on:

Aug 22, 2001

Contents and Related Links

Cliff's Web Pages

What is CodeWrangler Dot Net?

My name is Cliff Green, and CodeWrangler Dot Net is a Web site I created as a repository for my teaching materials, technical articles, and any other general technical information I've written or collected over the years. It can also be used as a site for any collaborative projects I may be working on in the future.

Where did the name originate? I originally wanted to use CodeSlinger, but that domain name is taken (all versions of it). My wife Julie uses the term "Baby Wrangling" to describe taking care of Nathan (our son born in March of 2000), and after a little bit of thinking I thought "Hey, CodeWrangler! Software development is kind of like wrestling a bunch of code in shape ...". I registered the CodeWrangler.net domain name in early 2001, and plan to keep it for many years.

UW Extension Courses

A big portion of this site consists of the materials for the University of Washington Extension C++ courses that I teach. There's a link at the left of this page as well as here. I currently teach C++ Introduction, Intermediate, and Advanced, and am scheduled to teach a Foundations of Object-Oriented Programming / Design course for the first time this Fall (2001).

Utility Classes and Functions

Here is a list of utility classes and code available on this site, all of which is freely available to be used in assignment code, or for any other non-commercial use (please e-mail me for any commercial use releases or license possibilities). Some of the utility code uses facilities from Boost.org: (http://www.boost.org/), which I highly recommend. (Some of the utility classes and functions that used to be on my site have also been removed in favor of higher quality code from Boost.) The Loki library from Andrei Alexandrescu is also used: (http://www.moderncppdesign.com/). The source files all have comment lines in the form that Doxygen or Doc++ (or similar tools) can use to generate documentation HTML files: http://www.doxygen.org/
  • align.h - Header file for templatized byte swapping and byte alignment functions.
  • binarybuf.cpp - Implementation file for BinaryBuf class, which encapsulates dynamically sized binary buffers using a templatized storage policy implementation (based on the std::basic_string interface).
  • binarybuf.h - Header file for BinaryBuf class, described above.
  • bitbuffer.cpp - Implementation file for BitBuffer class, which provides a variable / dynamically sized bit buffer, allowing pushing and extracting of arbitrary bit groups and values. BitBuffer is templatized on both the storage policy and a BinaryBuf type (for input and output).
  • bitbuffer.h - Header file for BitBuffer class, described above.
  • copyright.txt - Comment file containing copyright notice for utility and solution source code.
  • factory.h - Header file for templatized object factory classes. These classes provide a pre-written component for easy virtual object creation based on key values (such as strings) with the added bonus of a flexible number of constructor parameters (from 0 to 4 currently supported).
  • header.txt - Comment block skeleton added at the front of all utility and solution source code.
  • nil.h - Header file for templatized null pointer value function.
  • serialcommunix.cpp - Implementation file for SerialCommUnix class, which provides a variable / dynamically sized bit buffer, allowing pushing and extracting of arbitrary bit groups and values.
  • serialcommunix.h - Header file for SerialCommUnix class, described above.
  • strutils.cpp - Implementation file for various C and C++ string utility functions.
  • strutils.h - Header file for various C and C++ string utility functions.
  • utiltest.cpp - Test driver application for utility functions and classes.

C++ Articles and Resources, Written by Cliff

Other C++ Articles and Information

Assorted and Sundry Stuff


This page constructed by Cliff Green, Copyright © 2001.