VirtualBox

Changeset 16432 in vbox


Ignore:
Timestamp:
Jan 30, 2009 6:18:20 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
42298
Message:

iprt/cdefs.h: Added RT_UOFFSETOF_ADD and RT_OFFSETOF_ADD to work around g++ static initializers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/cdefs.h

    r15932 r16432  
    955955 */
    956956#define RT_UOFFSETOF(type, member)   ( (uintptr_t)&( ((type *)(void *)0)->member) )
     957
     958/** @def RT_OFFSETOF_ADD
     959 * RT_OFFSETOF with an addend.
     960 *
     961 * @returns offset into the structure of the specified member. signed.
     962 * @param   type    Structure type.
     963 * @param   member  Member.
     964 * @param   addend  The addend to add to the offset.
     965 */
     966#define RT_OFFSETOF_ADD(type, member, addend)   ( (int)RT_UOFFSETOF_ADD(type, member, addend) )
     967
     968/** @def RT_UOFFSETOF_ADD
     969 * RT_UOFFSETOF with an addend.
     970 *
     971 * @returns offset into the structure of the specified member. signed.
     972 * @param   type    Structure type.
     973 * @param   member  Member.
     974 * @param   addend  The addend to add to the offset.
     975 */
     976#define RT_UOFFSETOF_ADD(type, member, addend)   ( (uintptr_t)&( ((type *)(void *)(uintptr_t)(addend))->member) )
    957977
    958978/** @def RT_SIZEOFMEMB
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette