On Fri, 2002-07-12 at 22:44, Justin Erenkrantz wrote: > On Fri, Jul 12, 2002 at 10:39:10PM -0700, Brian Pane wrote: > > If the new time type is an abstract type, the common operations on > > it will be: > > - Native C scalar + and - operations for time arithmetic > > (for performance and simplicity reasons) > > - Macros to extract seconds and microseconds > > As Roy pointed out, this is partial hiding. I'm now of the mind > that it should be a full ADT under an abstract type. Therefore, > the +/- operations should be handled by an API. (For performance > reasons, it can be a macro - say apr_time_add/apr_time_diff which > do the obvious C scalar operations.) But, under no circumstances > for this solution, can the user do *anything* with the value > without going through some API.
Agreed. And that API includes: type_name_tbd operator+(type_name_tbd a, type_name_tbd b); type_name_tbd operator-(type_name_tbd a, type_name_tbd b); > If that bugs you (and it well might), then we need to go the > apr_busec_t route and rename every APR time function. -- justin -1 for renaming any APR time functions: just rename the data type. --Brian