From: I.J.Wang (wij_at_[hidden])
Date: 2004-10-23 04:30:09
I have recently written a C++ library, it is hoped as the most bottom
level of C++ functions. Many issues might be interested there.
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
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk