HDTenEightyP/NetNews huggingface dataset:
From: bill@cc.gatech.edu (Bill Appelbe)
Subject: C++ Instructors wanted
Reply-To: bill@cc.gatech.edu (Bill Appelbe)
Organization: Georgia Institute of Technology
Distribution: usa
Date: Fri, 11 Dec 1992 19:16:07 GMT

PART-TIME C++ TEACHING POSITIONS:

Learning Group International, the largest world-wide professional continuing
education company, is looking for individuals to teach their 4-day
hands-on C++ course part-time. Currently they have over a dozen C++
instructors, but the market is expanding as the course has been highly
successful.

Qualifications:
o	Able to teach at least one week out of every couple of months.
o	Undergraduate degree in Computer Science or equivalent, preferrably
	graduate degree too.
o	Extensive experience with C and C++, preferrably on large projects
o	Enthusiasitic about teaching, preferrably with teaching experience
o	Preferrably Applications and Tools experience, such as Windows
	programming (or ObjectWinbdows, OWL, CaseWorks), X-Windows, etc.

Potential candidates should send a resume to:
	Attn: Patrick Wolfe
	Learning Group International
	1805 Library Street,
	Reston, Virgina 22090

or FAX: 703-709-6405

If you are accepted Learning Group will put you through a training and
co-teaching program.

In addition to its C++ course Learning Group has extensive course offerings
in C, OOD and OOA, Windows programming, etc.

If you want more details about the course you can also contact me directly.


Newsgroups: comp.lang.c++
From: feathers@serss0 (Michael Feathers)
Subject: Re: Criticisms Wanted:Callbacks&Runtime methods
Organization: Florida International University, Miami
Date: Sun, 13 Dec 1992 05:12:59 GMT
Keywords: callbacks C++ Runtime methods

In article <1992Dec12.124839.11240@netcom.com> erc@netcom.com (Eric Smith) writes:
>I've got that on the back burner.  My parser, which contains its own
>preprocessor, already has some extra macro features I'm using, and I'm
>planning to release a very powerful extended C++ preprocessor in the
>future, which will evolve from it.  I'm using it right now as a
>preprocessor even with C++ compilers that don't have a separate
>preprocessor, just adding mine as an extra initial stage in the
>makefile.  But it doesn't take much extra time because doing the
>preprocessing in advance reduces the workload on the C++ compiler,
>thereby making it faster.

Sounds great.  As a little thought experiment for myself, I've been thinking
of designing a C++ like language which maintains the functionality of C++
while simplifying the syntax considerably.  In the process, I've made a 
wish list for a preprocessor.
 
Unlike many people, I do not regard the preprocessor as an evil entity that is
used to hide ugly code and introduce bugs.  In fact, I think that the C and
C++ preprocessors are invaluable when using C and C++ as target languages in
a compiler.


Here are some things that I've always wanted to add to a preprocessor.  Perhaps
some day I will.
 
1. A #system directive which executes the text remaining on the line in the 
   operating system shell that the preprocessor is running under.  Some may
   say that this would cause portability concerns, but the include mechanism
   could be used to configure for different Operating systems.  The
   benefits would be numerous.  The preprocessor could be used to automate
   program construction, etc.,.

   #system echo __FILE__ __LINE__    // Show people where the processing is now

2. Grammatical production based macros which use the names of C++ tokens and
   regular expressions as atoms.
  
   To keep things simple, the productions could be restricted to LL(1).
  

-Mike (doesn't ask for much)



Newsgroups: comp.lang.c++
From: sabroe@daimi.aau.dk (Morten Sabroe Mortensen)
Subject: Special-purpose-heap-managers - references, FTP?
Organization: DAIMI: Computer Science Department, Aarhus University, Denmark
Date: Fri, 18 Dec 92 11:05:36 GMT

Can anybody tell me, if I can find C++ code for a special-purpose-heap-manager,
-something like 'Pool' in "The C++ programming language"(473)-, somewhere on 
the net, as ftp? It should be easy to construct a manager, that never gives
memory back to the general-purpose-heap-manager, -but what about one, that 
gives memory back? I need inspiration...

BS says, that use of a special-purpose-heap-manager could speed up a program,
-that is, a "normal" program, that uses medium-heavy dynamic-allocation, 
I guess(!)-, with a factor 2! Based on a few simple tests, I would not be 
surpriced, if the speed-up could be much, much higher - say, 100x for a not 
too heavily, dynamically allocating program of mine! Is that unrealistic; 
based on an unrealistic, simple test? 

Could anyone, -who have tried-, tell, what kind of experiences they have with 
special-purpose-heap-managers like 'Pool', in what kind of program, with what 
kind of result/speed-up? 

        -- Morten.

---------------------------------------------------------------------------
 Morten Sabroe Mortensen,         e-mail: sabroe@daimi.aau.dk
 Department of Computer-science - University of Aarhus, Denmark.
---------------------------------------------------------------------------
Newsgroups: comp.lang.c++
From: ski@atc.boeing.com (Chris Kacoroski,none)
Subject: Summary of C++ inference engine
Followup-To: ilogdemo@ilog.com
Reply-To: ski@atc.boeing.com
Organization: Boeing - Product Manufacturing Knowledge Based Systems
Date: Mon, 14 Dec 1992 17:36:29 GMT

Hi,

It seems that only one vendor has an inference engine that can reason 
over C++ objects and is embeddable in C++ code.  I got no other responses.




Cheers,

Chris "ski" Kacoroski	"When we try to pick out anything by itself
ski@atc.boeing.com	 we find it connected to the entire universe"
							John Muir

-----------------------------------------------------------------------
Return-Path: <iloginc!ilog.com!ilogdemo@netcom.com>
Date: Mon, 7 Dec 92 13:45:16 PST
From: ilogdemo@ilog.com (Demo Account)
To: ski@atc.Boeing.Com
Cc: suel@ilog.com
Subject: C++ inference engine wanted

Hi Chris,

It looks like we may have exactly what you and your colleagues
are looking for:

XRete is an embeddable forward chaining inference engine, written in
C++ and provided as a C++ library. It runs on virtually any Unix
platform as well as on PCs. Its syntax is very close to OPS5's, but
with more features such as "objects as values". In addition to its
optimized RETE implementation, XRete give access to a full Truth
Maintenance System (TMS).  Moreover you can mix C and C++ code
directly within the rules using inlines. XRete generates standard C++
code that can be easily integrated in your existing applications using
the API.  An important part of the success of XRete comes from its
"virtual objects" technology. The rules will infer directly on
existing (or not) C++ classes as well as C structures. You can declare
which classes (or structures) and which fields you'd like to use in
the rules and XRete will get them directly without duplicating
anything. In the case of C++, it will use the member functions to
access the fields or you could re-write the ones you want to be
specific to the rule part of the application.  As a result of this
powerful architecture, XRete provides close to real-time performance
(thousands of rules triggered per second) with small memory
requirements (90K overhead for the engine).  XRete has been developed
over a period of 5 years for military applications and it already has
successful applications deployed with it.

If you need any more information, please feel free to call me so that
I can describe in more details the tool:

Patrick Suel
ILOG, Inc.
2073 Landings Drive
Mountain View CA 94043
ph: (415) 390 9005
net: suel@ilog.com

Best of luck for your project.

Patrick
From: lanceo@cs.utexas.edu (L. Lance Obermeyer)
Newsgroups: comp.lang.c++
Subject: Re: pointer to methods in g++
Date: 11 Dec 1992 14:31:10 -0600
Organization: CS Dept, University of Texas at Austin
NNTP-Posting-Host: priddy.cs.utexas.edu
Keywords: method, address, gnu, pointer

Thanks go to jbuck@ohm.Berkeley.EDU (Joe Buck) for confirming
this is a gcc bug and proposing a typedef workaround.  It
seems to work now.

BTW, it was gcc version 2.3.2.  I will report the bug to gnu.


Newsgroups: comp.lang.c++
From: thail@seas.gwu.edu (Samuel R. Posten)
Subject: srgp, c and sun
Organization: George Washington University
Distribution: usa
Date: Wed, 16 Dec 1992 05:46:16 GMT

please don't flame me for asking a simple question, but if anyone can send
me email on how to make srgp recognize the sin and cos functions in math.h
in gcc, I would be extremely grateful.  thanks,
sam

-- 
********************************************
*  thail@seas.gwu.edu                 SRP  *
*                                     III  *
*  Phi Sigma Kappa Fraternity              *
Newsgroups: comp.lang.c++
From: srheintze@uccs.edu
Subject: >From:	MX%"76336.3114@CompuServe.COM" 15-DEC-1992 10:15:44.70
Date: 16 Dec 92 01:10:28 GMT

>To:	SRHEINTZE
>CC:	
>Subj:	Re: >X-NEWS: uccs comp.lang.c++: 23811
>
>I was wondering how long it would be before people started asking ...
>
>Send mail to comp.lang.c++@cs.utoronto.ca.
>

Kevin,
    I would love to know how to access the news groups on the internet via
compuserve.  Hmmm, you seem to know lots of tricks -- you have an interesting
account name as well.

			Thanks,
				Sieg
Newsgroups: comp.lang.c++
From: dobbs@ast.saic.com (Lynn Dobbs)
Subject: Re: Public access to private data member
Organization: SAIC
Date: Fri, 11 Dec 1992 19:58:43 GMT

In article <Bz3xH1.9uq@cs.uiuc.edu> pjl@cs.uiuc.edu (Paul Lucas) writes:
>In <28575.9212111556@louis.ecs.soton.ac.uk> Stuart Maclean <S.D.Maclean@ecs.soton.ac.uk> writes:
>
>>void Screen::copy( Screen& s )
>>{
>>  delete screen;
>>  height = s.height;
>>  width = s.width;
>
>>My question is;
>>  Why are the data members s.height and s.width accessible to copy,
>>  even though both height and width are declared private. Is
>>  it just because s happens to be of the same class as the target
>>  object ??
>
>*****>	Yes.
>-- 
Copy is a member fucntion. If the data members weren't accessible to
member or friend functions, what good would they be?
--Lynn
"Who is John Galt?"

Newsgroups: comp.lang.c++
From: jimad@microsoft.com (Jim Adcock)
Subject: Re: Operator "new" - how to catch array-allocation?
Date: 15 Dec 92 19:29:46 GMT
Organization: Microsoft Corporation

In article <1992Dec14.143339.26314@daimi.aau.dk> sabroe@daimi.aau.dk (Morten Sabroe Mortensen) writes:
|A* a=new A[25];
|
|the global new operator is used, it seems! Can it be true, it should
|work like this? 

It should work like this?  It does work like this.

|Until I tried, I thought, A's 'new' would just get a bigger
|argument - but maybe there is a very good reason, it works like this?

Maybe.  The argument being that class operator new should be allowed to
handled fixed-size allocations.

|Please tell me about it! No way to catch array-allocation for a class? 

Way.  Catch array-allocation for a class by preventing array allocations.
For example make constructors private.  Or no default constructors.

|Same question goes for 'delete'. Comments and explanations greatly
|appreciated!

If you want to perform custom new and delete on arrays of objects make
that array a class.  If you want the capabilities of classes, then
make it a class.  The built-in array capabilities of C++ are a left-over
from C days, and are not to be taken seriously.
Newsgroups: comp.lang.c++
From: jimad@microsoft.com (Jim Adcock)
Subject: Re: A modest proposal...
Date: 16 Dec 92 19:33:38 GMT
Organization: Microsoft Corporation

In article <1992Dec15.153341.28494@bcrka451.bnr.ca> sjm@bcrki65.bnr.ca (Stuart MacMartin) writes:
|There is a lot of traffic in this group, but a lot of it is from new users.
|How many of them hit the right group, don't ask FAQs, create new topics instead
|of following up an arbitrary one, and have appropriate keywords in the subject
|for kill files?

One of the joys of having a successful language, a language whose user
base is doubling every nine months or so, is that the vast majority
of C++ programmers are new C++ programmers.  I am happy to answer a few
simple questions, and get new people pointed in the right direction, 
in exchange for being able to program in a widely successful and
available language.

A better question would be why all the new C++ programmers have to put
up with all the inapplicable esoterica brought up by the auld time
C++ hacks ;-)

Newsgroups: comp.lang.c++
From: twriter@rd.hydro.on.ca (Timothy Writer)
Subject: Re: Overriding the order of constructors?
Keywords: constructor ordering
Reply-To: twriter@rd.hydro.on.ca
Organization: "Ontario Hydro - Research Division"
Date: Mon, 14 Dec 92 20:49:03 GMT

johnrp@well.sf.ca.us (John Panzer) writes:

>In article <robison1.724307343@husc10> robison1@husc10.harvard.edu (Keith Robison) writes:
>>dembo@csri.toronto.edu (Prof. Ron Dembo) writes:
>>
>>
>>
>>>What is the rational for not allowing a programmer to override the
>>>default calling order of constructors and initializers?  I see
>>>the importance of having a well defined default.  However, why
>>>shouldn't the ordering of the initilizers be significant?  
>>
>>
>>	I believe you can effectively accomplish this dangerous
>>goal by calling virtual functions in your constructors:
>>
>>
>>class A {
>>  A() { reroute(); do_A_ctor_stuff(); }
>>  virtual void reroute(); { }
>>}
>>
>>class B : public A {
>>  B() {}
>>  void reroute ()  { do_B_ctor_stuff(); }
>>}
>>
>>
>>This will cause B's reroute() to be executed before any 
>>A constructing has occurred.
>>

>Are you certain?  I believe that A::reroute() will
>be called if reroute() is called from within A's
>constructor or destructor.  I think this is a
>common C++ "gotcha" - it's certainly gotten me
>in the past.

You (robison1@husc10.harvard.edu) are right.  To quote from the ARM p.294:

	Member functions may be called in constructors and destructors.
	This implies that virtual functions may be called (directly or
	indirectly).  The function called will be the one defined in the
	constructor's (or destructor's) OWN class or its bases, but NOT
	any function overriding it in a derived class.  This ensures
	that unconstructed objects will not be accessed during
	construction or destruction.

In other words, although your (dembo@csri.toronto.edu) example is
syntactically correct, it does not have the desired result.

Perhaps the original poster could porovide a more concrete example of
what he hopes to achieve by specifying the order of constructor
execution.  Someone may be able to suggest an alternative solution.

Tim

-- 
Tim Writer			     phone:  (416) 231-4111 ext. 6990
Ontario Hydro Research Division	     fax:    (416) 237-9285
Toronto, Ontario		     e-mail: twriter@rd.hydro.on.ca
CANADA
Newsgroups: comp.lang.c++
From: sdm@cs.brown.edu (Scott Meyers)
Subject: Re: Make a deep copy!
Organization: Brown University Department of Computer Science
Date: Sat, 19 Dec 1992 15:43:29 GMT

In article <kwong.724744711@morgan> kwong@morgan.ucs.mun.ca (KAI S. WONG   ^.^) writes:
| How about if the structure is a bit more complex, especially one with
| dynamically allocated memory.  I tried the following (I appologize if it's
| syntactically incorrect, I no longer have the version which I actually tried.
| This one is just from memory):
| 
| class MATRIX
| {
...
|     MATRIX& operator+( const MATRIX& addend );
| };

Your problem is that operator+ can't return a reference.  Well, it can, but
if it does, it won't work correctly, as you have discovered.  The general
problem is that you're returning a reference to an object that is going out
of scope.  For details, see "Effective C++," pp. 82-84.

Scott

-------------------------------------------------------------------------------
What do you say to a convicted felon in Providence?  "Hello, Mr. Mayor."
Newsgroups: comp.lang.c++
From: pickerig@eee.bham.ac.uk (Guy Pickering)
Subject: Re: Survey: File Extension
Date: Mon, 14 Dec 1992 09:11:11 GMT
Organization: The University of Birmingham, England
X-Newsreader: TIN [version 1.1 PL6]

AT&T ignores .cxx and .cc and .cpp files, it only seems to cope with
C and .c

I use .H as well BTW.

Guy

--
+--------------------------------+-----------------------------------------+
| Guy Pickering                  | School of Electronic & Electrical Eng,  |
| E-MAIL: G.PICKERING@uk.ac.bham | University of Birmingham,               |
| Tel: (021) 414 4340            | Edgbaston, Birmingham. B15 2TT.         |
+--------------------------------+-----------------------------------------+
| "I have ten pairs of trainers...One for each day of the week" - Sam Fox  |
+--------------------------------+-----------------------------------------+


Newsgroups: comp.lang.c++
From: somerist@klaava.Helsinki.FI (Jussi T Someristo)
Subject: Turbo C++ vs Borland C++
Organization: University of Helsinki
X-Newsreader: TIN [version 1.1 PL6]
Date: Sat, 12 Dec 1992 20:24:29 GMT


	Just wondering what's the difference between Turbo C++
  for Windows 3.1 and Borland C++ & Application framework.

	What is this Application framework anyway?

--
somerist@cc.helsinki.fi
Jussi Someristo
Newsgroups: comp.lang.c++
From: jpole@world.std.com (Jamie C Pole)
Subject: Altos 2000 C Compilers?
Organization: The World Public Access UNIX, Brookline, MA
Date: Wed, 16 Dec 1992 18:25:00 GMT

  Hiya all...

  Does anyone know of any C or C++ compilers available for the Altos 2000?
 Will the GNU C's work on it?  Thanks...





						Jamie



jpole@world.std.com
From: jbuck@forney.berkeley.edu (Joe Buck)
Newsgroups: comp.lang.c++
Subject: Re: new returns address it already returned!
Date: 12 Dec 1992 17:55:29 GMT
Organization: U. C. Berkeley
NNTP-Posting-Host: forney.berkeley.edu

In article <1992Dec11.220827.6197@microsoft.com> jimad@microsoft.com (Jim Adcock) writes:
>As a test, I suggest if at all possible start by commenting out ALL of
>the delete statements your program uses.  Not some, ALL of them.  This
>is only possible to do if your program makes reasonably bounded use of
>heap.

The simple way to do this test is to link in the following code:

void operator delete(void *) {}

This will replace delete with a do-nothing function.  There is no need
to go through and comment out every delete.




--
Joe Buck	jbuck@ohm.berkeley.edu
From: dwr@cci632.cci.com (Donald W. Rouse II)
Newsgroups: comp.lang.c++
Subject: Re: register variables in inline functions
Date: 14 Dec 92 17:45:11 GMT
Organization: [Computer Consoles, Inc., Rochester, NY

In article <1992Dec10.003109.25441@bilver.uucp> dandrews@bilver.uucp (Dave Andrews) writes:
>In article <1992Dec9.011428.11178@aplcen.apl.jhu.edu> ded@aplcen (nod sivad) writes:
>>In the past, to speed up a C function's performance, one would
>>declare frequently used variables as "register."  
>>But what happens with a C++ inline function?  Does declaring
>>the variables as "register" offer any hope of greater speed?
>>
>>Supposedly, compilers are so sophisticated nowadays that
>>the "register" keyword is unnecessary. 
>>
>My understanding is that both "register" and "inline" may be ignored
>by your compiler.  They are only hints.
>
>- David Andrews
>  dandrews@bilver.oau.org
>

MY understanding is that "inline" may be replaced with "static",
but it may not be ignored.
From: gnk@gizmo.ECE.ORST.EDU (Giri Rangan)
Newsgroups: comp.lang.c++
Subject: C++ compiler/include files on Sun
Date: 18 Dec 92 21:02:27 GMT
Article-I.D.: flop.1gte93INNbh1
Distribution: world
Organization: none
NNTP-Posting-Host: gizmo.ece.orst.edu

Hi,

I need to compile some C++ code on a Sun. I have ported the software from an Apollo
onto the Sun but the machine just says 'CC' not found and also none of the include
files for C++ are present. I have tried other combinations for the compile command
like 'cxx' or 'Cxx' or 'cc++' etc but none of these work. There is no manual also
for CC. Does this mean that the compiler is not loaded on the machine itself or am
I doing something wrong ?

A quick response would be really helpful for me. If possible, please give me the
paths for the include files also.

Please mail to : gnk@aldur.ece.orst.edu

Thanks,
Giri.

-- 
=================================================================                       
                        Giri NK Rangan
Dept of ECE, Oregon State University, Corvallis, OR 97331.
=================================================================                       
Newsgroups: comp.lang.c++
From: twriter@rd.hydro.on.ca (Timothy Writer)
Subject: Re: Give me safe C++
Reply-To: twriter@rd.hydro.on.ca
Organization: "Ontario Hydro - Research Division"
Date: Thu, 17 Dec 92 23:55:44 GMT

maxtal@extro.ucc.su.OZ.AU (John MAX Skaller) writes:

>In article <1992Dec14.190553.14838@mole-end.matawan.nj.us> mat@mole-end.matawan.nj.us writes:

> [stuff deleted]

>	Next, I feel NO language has addressed the concept
>of coroutines (except possibly Simula?). C provides
>no simple exchange of control mechanism, although one
>has to admit they can be emulated using objects in C++.
>Yet many machines provide this facility, usually via
>some exchange and link instruction.

There was (is) a language called Concurrent Euclid which was invented at
the University of Toronto some years ago.  In my opinion, it addressed
the problem of concurrency (coroutines) quite effectively.  Euclid is
based on Turing, another University of Toronto language with strong
similarities to Pascal.  To Turing, Euclid added monitors and processes.
A process is simply a coroutine.  Monitors encapsulate critical data and
the procedures for manipulating them.  As only one procedure is aloud to
execute "in" a monitor, critical data is prevented from being
simultaneously accessed by multiple procedures.

Here is a very silly example.  I forget much of the syntax but it
illustractes the basic idea.

counter : Monitor

	var count : integer = 0

	procedure up()
	begin
		count = count + 1
	end

	procedure down()
	begin
		count = count - 1
	end

	precedure print()
	begin
		put(count)
	end

end Monitor

process up()
begin
	counter.up
	counter.print
end

process down()
begin
	counter.down
	counter.print
end

When the program starts up it immediately creates two processes
(coroutines) up and down.  The output might look something like this.

1
2
3
2
3
4
3
2
1
0
-1
0
...

Euclid also provides a means of synchronizing processes using signals
and conditions although I don't remember enough to describe it.

Although there are strong similarities between Euclid and Pascal,
Euclid is quite flexible.  In fact, I believe the same team that
implemented Euclid also built an implementation of UNIX, called TUNIS,
written entirley in Euclid.

Tim

-- 
Tim Writer			     phone:  (416) 231-4111 ext. 6990
Ontario Hydro Research Division	     fax:    (416) 237-9285
Toronto, Ontario		     e-mail: twriter@rd.hydro.on.ca
CANADA
Newsgroups: comp.lang.c++
From: webb@tsavo.hks.com (Peter Webb)
Newsgroups: comp.lang.c++
Subject: Survey: File Extension
Date: 11 Dec 1992 16:34:24 -0500
Organization: Hibbitt, Karlsson & Sorenson, Inc.
Reply-To: webb@hks.com
NNTP-Posting-Host: tsavo.hks.com

I have a survey question for you all:

	What extension do you believe is correct for C++ source code?
	Is a clear majority winner emerging?  The contenders are: .C, .c
	and .cxx. 

Please respond by email, and I'll summarize the results.



-- 
Peter Webb 					webb@hks.com
Hibbitt, Karlsson & Sorenson, Inc.		Voice: 401-727-4200
1080 Main St, Pawtucket RI 02860		FAX: 401-727-4208
From: to5232@iscsvax.uni.edu
Newsgroups: comp.lang.c++
Subject: Looking for C++ for the MAC
Date: 18 Dec 92 15:18:22 GMT
Organization: University of Northern Iowa

I am looking for a C++ compiler for the MAC.  I know of Zortech but I am still
not sure that they still produce it.  Can someone tell me of any C++ compilers
for the MAC and where I can buy it from?
Newsgroups: comp.lang.c++