$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: I.J.Wang (wij_at_[hidden])
Date: 2004-10-23 04:30:09
Hi:
I have recently written a C++ library, it is hoped as the most bottom
level of C++ functions. Many issues might be interested there.
http://freshmeat.net/projects/libwx
http://sourceforge.net/projects/libwx
There are so many incompatible issues with the standard practice. I
would like to know about your ideas.
1. The most fundamental thing is about the returning mechanism.
It involves the return type and exception type.
Please download file libwy-0.15.tgz at least to see README.TXT
to understand.
2. About the definition of bit with number (it is very
attractive in theory). Is it practical to define the bit of
number with signed types? because my implementation would require
the machine always use MSB as the sign bit for integer types.
3. This is about the class member naming convention: (ripped from
README.TXT) It is so far stable, I would like to propose for boost
I know there are incompatibles, but think it as 'lowest level'
might solve these problems.
--
Let T denote a given class of this library . The following
member names and associated functionalities are defined.
T() default constructor. The object thus constructed is
referred to as in default state and so the default object.
If object can mean 'no instance', or be unbound state etc.,
the default object is better thus designed.
Exception postcondition: object does not exist
reset(...)
Reconstruct the object to the state as constructed.
If reset(...) defined, there exists the argument
corresponding constructor (reset() usually exists)
Note: reset() should always leave an default object,
whatever an error is reported, either by return
or by throwing exception
~T Destruct and discard object
Postcondition: object does not exist
bool is_default() const
return true iff object is equivalent to the default
constructed object (i.e a.is_default() <==> a==T())
bool operator==(const T& r) const
This function returns true iff *this and r are not
distinguishable by using any non-private member on
the same condition unless otherwise specified.
All the returned objects or that may be modified by
the other members of T should have their
operator==(const T&r) defined to prove the defined
equivalence.
Note: Address and SLI are not objects' own property
operator=(const T&)
Assign/reconstruct object to the state as the copy
constructor constructed.
The assigned object should be deterministic by the argument
(i.e. f=x and g=x imply f==g).
A function of such functionality should however be defined.
For using expressions might otherwise be analysed to
ambiguity and the future use is very likely of exponential
complexity
Fault
return-type exception class derived from WyRet.
_.. prefix for system-specific members or candidate, or
restricted