BACnetEncodeable now decends from CObject, added Match and ToString virtuals.
BACnetAddr class created to handle BACnetAddress functionality.
BACnetUnsigned carries an unsigned long instead of an unsigned int.
BACnetCharacterString enhanced with <>=, etc. operators and uses CString comparison methods.
BACnetBinaryPriV class created to handle priority values and choice types.
BACnetCalendarArray and BACnetCalendarEntry classes created.
BACnetDate, BACnetDateTime, BACnetDateRange, BACnetTime, BACnetTimeStamp, BACnetWeekNDay classes created or enhanced with comparision operators and range computations.
BACnetObjectIDList and BACnetObjectIdentifier created.
BACnetGenericArray, BACnetObjectContainer classes created to provide array/list and "any" type flexibility.
BACnetAnyValue created to deal with comparisons of other BACnet types from objects or encoded streams as well as to (mainly) encapsulate objects so destructors are properly called when auto objects are used where errors are thrown (all throughout comparisons). Dynamic allocation gets tricky with all this throwing going on...