Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# Global_Macros.h File Reference

`#include "ace/pre.h"`
`#include "ace/OS_Export.h"`
`#include "ace/post.h"`

Include dependency graph for Global_Macros.h:

This graph shows which files directly or indirectly include this file:

## Defines
#define | ACE_BEGIN_DUMP ACE_LIB_TEXT ("\n====\n(%P|%t|%x)")
#define | ACE_END_DUMP ACE_LIB_TEXT ("====\n")
#define | ACE_DB(X) X
#define | ACE_NO_HEAP_CHECK
#define | ACE_ITOA(X) #X
#define | ACE_SERVER_ADDRESS(H, P) H":"P
#define | ACE_POW(X) (((X) == 0)?1:(X-=1,X|=X>>1,X|=X>>2,X|=X>>4,X|=X>>8,X|=X>>16,(++X)))
#define | ACE_EVEN(NUM) (((NUM) & 1) == 0)
#define | ACE_ODD(NUM) (((NUM) & 1) == 1)
#define | ACE_BIT_ENABLED(WORD, BIT) (((WORD) & (BIT)) != 0)
#define | ACE_BIT_DISABLED(WORD, BIT) (((WORD) & (BIT)) == 0)
#define | ACE_BIT_CMP_MASK(WORD, BIT, MASK) (((WORD) & (BIT)) == MASK)
#define | ACE_SET_BITS(WORD, BITS) (WORD |= (BITS))
#define | ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS))
#define | ACE_ENDLESS_LOOP
#define | ACE_UNIMPLEMENTED_FUNC(f) f;
#define | ACE_CLASS_IS_NAMESPACE(CLASSNAME)
#define | ACE_TRACE_IMPL(X) ACE_Trace ____ (ACE_LIB_TEXT (X), __LINE__, ACE_LIB_TEXT (__FILE__))
#define | ACE_TRACE(X) ACE_TRACE_IMPL(X)
#define | ACE_GUARD_ACTION(MUTEX, OBJ, LOCK, ACTION, REACTION)
#define | ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, REACTION) ACE_GUARD_ACTION(MUTEX, OBJ, LOCK, ;, REACTION)
#define | ACE_GUARD(MUTEX, OBJ, LOCK) ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, return)
#define | ACE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN) ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, return RETURN)
#define | ACE_WRITE_GUARD(MUTEX, OBJ, LOCK)
#define | ACE_WRITE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN)
#define | ACE_READ_GUARD(MUTEX, OBJ, LOCK)
#define | ACE_READ_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN)
#define | ACE_DES_NOFREE(POINTER, CLASS)
#define | ACE_DES_ARRAY_NOFREE(POINTER, SIZE, CLASS)
#define | ACE_DES_FREE(POINTER, DEALLOCATOR, CLASS)
#define | ACE_DES_ARRAY_FREE(POINTER, SIZE, DEALLOCATOR, CLASS)
#define | ACE_DES_NOFREE_TEMPLATE(POINTER, T_CLASS, T_PARAMETER)
#define | ACE_DES_ARRAY_NOFREE_TEMPLATE(POINTER, SIZE, T_CLASS, T_PARAMETER)
#define | ACE_DES_FREE_TEMPLATE(POINTER, DEALLOCATOR, T_CLASS, T_PARAMETER)
#define | ACE_DES_ARRAY_FREE_TEMPLATE(POINTER, SIZE, DEALLOCATOR, T_CLASS, T_PARAMETER)
#define | ACE_DES_FREE_TEMPLATE2(POINTER, DEALLOCATOR, T_CLASS, T_PARAM1, T_PARAM2)
#define | ACE_DES_FREE_TEMPLATE3(POINTER, DEALLOCATOR, T_CLASS, T_PARAM1, T_PARAM2, T_PARAM3)
#define | ACE_DES_FREE_TEMPLATE4(POINTER, DEALLOCATOR, T_CLASS, T_PARAM1, T_PARAM2, T_PARAM3, T_PARAM4)
#define | ACE_DES_ARRAY_FREE_TEMPLATE2(POINTER, SIZE, DEALLOCATOR, T_CLASS, T_PARAM1, T_PARAM2)

## Detailed Description

Global_Macros.h,v 4.9 2002/05/28 11:08:37 dhinton Exp

Author:
  Douglas C. Schmidt <schmidt@cs.wustl.edu> , Jesper S. M|ller<stophph@diku.dk> , and a cast of thousands... @This one is split from the famous OS.h

## Define Documentation

#define ACE_BEGIN_DUMP ACE_LIB_TEXT ("\n====\n(%P|%t|%x)")

#define ACE_BIT_CMP_MASK | ( | WORD,
|  | BIT,
|  | MASK |  | ) | (((WORD) & (BIT)) == MASK)

#define ACE_BIT_DISABLED | ( | WORD,
|  | BIT |  | ) | (((WORD) & (BIT)) == 0)

#define ACE_BIT_ENABLED | ( | WORD,
|  | BIT |  | ) | (((WORD) & (BIT)) != 0)

#define ACE_CLASS_IS_NAMESPACE | ( | CLASSNAME |  | ) |

| Value:
    private: \
    CLASSNAME (void); \
    CLASSNAME (const CLASSNAME&); \
    friend class ace_dewarn_gplusplus

#define ACE_CLR_BITS | ( | WORD,
|  | BITS |  | ) | (WORD &= ~(BITS))

#define ACE_DB | ( | X |  | ) | X

#define ACE_DES_ARRAY_FREE | ( | POINTER,
|  | SIZE,
|  | DEALLOCATOR,
|  | CLASS |  | ) |

| Value:
    do { \
            if (POINTER) \
              { \
                for (size_t i = 0; \
                     i < SIZE; \
                     ++i) \
                { \
                  (&(POINTER)[i])->~CLASS (); \
                } \
                DEALLOCATOR (POINTER); \
              } \
          } \
       while (0)

#define ACE_DES_ARRAY_FREE_TEMPLATE | ( | POINTER,
|  | SIZE,
|  | DEALLOCATOR,
|  | T_CLASS,
|  | T_PARAMETER |  | ) |

| Value:
    do { \
                if (POINTER) \
                  { \
                    for (size_t i = 0; \
                         i < SIZE; \
                         ++i) \
                    { \
                      POINTER[i].T_CLASS T_PARAMETER::~T_CLASS (); \
                    } \
                    DEALLOCATOR (POINTER); \
                  } \
              } \
           while (0)

#define ACE_DES_ARRAY_FREE_TEMPLATE2 | ( | POINTER,
|  | SIZE,
|  | DEALLOCATOR,
|  | T_CLASS,
|  | T_PARAM1,
|  | T_PARAM2 |  | ) |

| Value:
    do { \
                if (POINTER) \
                  { \
                    for (size_t i = 0; \
                         i < SIZE; \
                         ++i) \
                    { \
                      POINTER[i].T_CLASS <T_PARAM1, T_PARAM2>::~T_CLASS (); \
                    } \
                    DEALLOCATOR (POINTER); \
                  } \
              } \
           while (0)

#define ACE_DES_ARRAY_NOFREE | ( | POINTER,
|  | SIZE,
|  | CLASS |  | ) |

| Value:
    do { \
            if (POINTER) \
              { \
                for (size_t i = 0; \
                     i < SIZE; \
                     ++i) \
                { \
                  (&(POINTER)[i])->~CLASS (); \
                } \
              } \
          } \
       while (0)

#define ACE_DES_ARRAY_NOFREE_TEMPLATE | ( | POINTER,
|  | SIZE,
|  | T_CLASS,
|  | T_PARAMETER |  | ) |

| Value:
    do { \
              if (POINTER) \
                { \
                  for (size_t i = 0; \
                       i < SIZE; \
                       ++i) \
                  { \
                    (POINTER)[i].T_CLASS T_PARAMETER::~T_CLASS (); \
                  } \
                } \
            } \
         while (0)

#define ACE_DES_FREE | ( | POINTER,
|  | DEALLOCATOR,
|  | CLASS |  | ) |

| Value:
    do { \
            if (POINTER) \
              { \
                (POINTER)->~CLASS (); \
                DEALLOCATOR (POINTER); \
              } \
          } \
       while (0)

#define ACE_DES_FREE_TEMPLATE | ( | POINTER,
|  | DEALLOCATOR,
|  | T_CLASS,
|  | T_PARAMETER |  | ) |

| Value:
    do { \
                if (POINTER) \
                  { \
                    POINTER->T_CLASS T_PARAMETER::~T_CLASS (); \
                    DEALLOCATOR (POINTER); \
                  } \
              } \
           while (0)

#define ACE_DES_FREE_TEMPLATE2 | ( | POINTER,
|  | DEALLOCATOR,
|  | T_CLASS,
|  | T_PARAM1,
|  | T_PARAM2 |  | ) |

| Value:
    do { \
                if (POINTER) \
                  { \
                    POINTER->T_CLASS <T_PARAM1, T_PARAM2>::~T_CLASS (); \
                    DEALLOCATOR (POINTER); \
                  } \
              } \
           while (0)

#define ACE_DES_FREE_TEMPLATE3 | ( | POINTER,
|  | DEALLOCATOR,
|  | T_CLASS,
|  | T_PARAM1,
|  | T_PARAM2,
|  | T_PARAM3 |  | ) |

| Value:
    do { \
                if (POINTER) \
                  { \
                    POINTER->T_CLASS <T_PARAM1, T_PARAM2, T_PARAM3>::~T_CLASS (); \
                    DEALLOCATOR (POINTER); \
                  } \
              } \
           while (0)

#define ACE_DES_FREE_TEMPLATE4 | ( | POINTER,
|  | DEALLOCATOR,
|  | T_CLASS,
|  | T_PARAM1,
|  | T_PARAM2,
|  | T_PARAM3,
|  | T_PARAM4 |  | ) |

| Value:
    do { \
                if (POINTER) \
                  { \
                    POINTER->T_CLASS <T_PARAM1, T_PARAM2, T_PARAM3, T_PARAM4>::~T_CLASS (); \
                    DEALLOCATOR (POINTER); \
                  } \
              } \
           while (0)

#define ACE_DES_NOFREE | ( | POINTER,
|  | CLASS |  | ) |

| Value:
    do { \
            if (POINTER) \
              { \
                (POINTER)->~CLASS (); \
              } \
          } \
       while (0)

#define ACE_DES_NOFREE_TEMPLATE | ( | POINTER,
|  | T_CLASS,
|  | T_PARAMETER |  | ) |

| Value:
    do { \
              if (POINTER) \
                { \
                  (POINTER)->T_CLASS T_PARAMETER::~T_CLASS (); \
                } \
            } \
         while (0)

#define ACE_END_DUMP ACE_LIB_TEXT ("====\n")

#define ACE_ENDLESS_LOOP

#define ACE_EVEN | ( | NUM |  | ) | (((NUM) & 1) == 0)

#define ACE_GUARD | ( | MUTEX,
|  | OBJ,
|  | LOCK |  | ) | ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, return)

#define ACE_GUARD_ACTION | ( | MUTEX,
|  | OBJ,
|  | LOCK,
|  | ACTION,
|  | REACTION |  | ) |

| Value:
    ACE_Guard< MUTEX > OBJ (LOCK); \
       if (OBJ.locked () != 0) { ACTION; } \
       else { REACTION; }

#define ACE_GUARD_REACTION | ( | MUTEX,
|  | OBJ,
|  | LOCK,
|  | REACTION |  | ) | ACE_GUARD_ACTION(MUTEX, OBJ, LOCK, ;, REACTION)

#define ACE_GUARD_RETURN | ( | MUTEX,
|  | OBJ,
|  | LOCK,
|  | RETURN |  | ) | ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, return RETURN)

#define ACE_ITOA | ( | X |  | ) | #X

#define ACE_NO_HEAP_CHECK

#define ACE_ODD | ( | NUM |  | ) | (((NUM) & 1) == 1)

#define ACE_POW | ( | X |  | ) | (((X) == 0)?1:(X-=1,X|=X>>1,X|=X>>2,X|=X>>4,X|=X>>8,X|=X>>16,(++X)))

#define ACE_READ_GUARD | ( | MUTEX,
|  | OBJ,
|  | LOCK |  | ) |

| Value:
    ACE_Read_Guard< MUTEX > OBJ (LOCK); \
        if (OBJ.locked () == 0) return;

#define ACE_READ_GUARD_RETURN | ( | MUTEX,
|  | OBJ,
|  | LOCK,
|  | RETURN |  | ) |

| Value:
    ACE_Read_Guard< MUTEX > OBJ (LOCK); \
        if (OBJ.locked () == 0) return RETURN;

#define ACE_SERVER_ADDRESS | ( | H,
|  | P |  | ) | H":"P

#define ACE_SET_BITS | ( | WORD,
|  | BITS |  | ) | (WORD |= (BITS))

#define ACE_TRACE | ( | X |  | ) | ACE_TRACE_IMPL(X)

#define ACE_TRACE_IMPL | ( | X |  | ) | ACE_Trace ____ (ACE_LIB_TEXT (X), __LINE__, ACE_LIB_TEXT (__FILE__))

#define ACE_UNIMPLEMENTED_FUNC | ( | f |  | ) | f;

#define ACE_WRITE_GUARD | ( | MUTEX,
|  | OBJ,
|  | LOCK |  | ) |

| Value:
    ACE_Write_Guard< MUTEX > OBJ (LOCK); \
        if (OBJ.locked () == 0) return;

#define ACE_WRITE_GUARD_RETURN | ( | MUTEX,
|  | OBJ,
|  | LOCK,
|  | RETURN |  | ) |

| Value:
    ACE_Write_Guard< MUTEX > OBJ (LOCK); \
        if (OBJ.locked () == 0) return RETURN;