Boost logo

Boost :

From: Beman Dawes (beman_at_[hidden])
Date: 2000-03-14 15:42:03


At 01:44 PM 3/14/00 -0600, Ed Brey wrote:

>[Working with source code using proportional fonts.]
>
>From: "Beman Dawes" <beman_at_[hidden]>
>>
>> What guidelines do you use? How do you deal with the issues you
>raise below?
>
>- Tabs are only used at the beginning of a line and only for
>indentation.
>- A single space may be used following a sequence of tabs as a
>"mini-tab".
>- Only the first non-whitespace character of a line is expected to
>ever be aligned.
>- Comments following code on a line are separated from the code by a
>single space.
>- There is no arbitrary line-length limit. Statements are broken
onto
>multiple lines based on their complexity, so as to optimize the
>tradeoff between horiztonal and vertical scrolling.

I personally do a great deal of alignment within lines of code, and
particularly within comments. Whole tables of information sometimes.
 I don't think I could give that up. The lack of intra-line
alignment (presumably because the number of tabs would depend on the
font) is a killer.

>
>> What printing program?
>SuperIDE is the best I've found (http://protostar.hypermart.net/).
>It's freeware, and lets you print using proportional fonts with BW
>syntax highlighting. I only use it for printing, not actually as an
>IDE.

Thanks, I will give it a try.

> ...
>
>
>A warning that this class is still in progress, so don't look at it
>for anything except a formatting example. I have to make a pairing
>heap for school and use it implement the single source, shortest
path
>algorithm. My long-term goal, though is to have the pairing heap be
a
>priority queue with an interface just like std::priority_queue,
except
>with erase, merge, and increase methods.

I assume you have looked at
http://www.boost.org/libs/pri_queue/heap.html

> Really, though, this is just
>a testbed for playing around with a capability model. I want to
have
>a single class boost::priority_queue, in which the user passes in as
a
>template parameter, maybe via a bitset, the desired capabilities
>(erase, merge, etc.) and the best implementation is automatically
>chosen (complete binary tree, leftist tree, pairing heap).

An interesting idea. Hard for me to envision how hard or easy it
would be to use in practice.

--Beman


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk