Boost logo

Boost :

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

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