id3_int28.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // The authors have released ID3Lib as Public Domain (PD) and claim no copyright,
  2. // patent or other intellectual property protection in this work. This means that
  3. // it may be modified, redistributed and used in commercial and non-commercial
  4. // software and hardware without restrictions. ID3Lib is distributed on an "AS IS"
  5. // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
  6. //
  7. // The ID3Lib authors encourage improvements and optimisations to be sent to the
  8. // ID3Lib coordinator, currently Dirk Mahoney ([email protected]). Approved
  9. // submissions may be altered, and will be included and released under these terms.
  10. //
  11. // Mon Nov 23 18:34:01 1998
  12. #ifndef ID3LIB_TYPES_28BITINT_H
  13. #define ID3LIB_TYPES_28BITINT_H
  14. #include "id3_types.h"
  15. class int28
  16. {
  17. public:
  18. int28( uint32_t val = 0 ); // used for int32 -> int28 conversion
  19. int28( const uchar *val ); // used for int28 -> int32 conversion
  20. int28 &setFromFile(uint32_t val); // used for int28 -> int32 conversion
  21. uchar operator[] ( size_t posn );
  22. luint get ( void );
  23. // *** PRIVATE INTERNAL DATA - DO NOT USE *** PRIVATE INTERNAL DATA - DO NOT USE ***
  24. protected:
  25. void set ( uint32_t val );
  26. uchar value[ sizeof ( luint ) ]; // the integer stored as a uchar array
  27. };
  28. #endif