Defines | Typedefs

acsutil.h File Reference

#include <vector>
#include <ace/OS.h>
#include <Functor_String.h>
Include dependency graph for acsutil.h:

Go to the source code of this file.

Defines

#define ACS_HAS_TAO
#define CDB_HAS_ANY
#define ACS_HAS_DLL
#define ACS_DLL_EXPORT   ACE_Proper_Export_Flag
#define ACS_DLL_IMPORT   ACE_Proper_Import_Flag
#define ACS_DLL_UNMANGLED_EXPORT   extern "C" ACS_DLL_EXPORT
#define USING_NAMESPACES
#define NAMESPACE_BEGIN(ns)   namespace ns {
#define NAMESPACE_END(ns)   }
#define NAMESPACE_USE(ns)   using namespace ns;
#define NAMESPACE_DIR(ns, code)   ns##::##code
#define ACS_NEW_RETURN(POINTER, CONSTRUCTOR, RET_VAL)   ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL)
#define ACS_NEW(POINTER, CONSTRUCTOR)   ACE_NEW(POINTER,CONSTRUCTOR)

Typedefs

typedef std::vector< ACE_CString > ACE_CString_Vector

Detailed Description

Header file for lots of fun goodies probably of no interest to anyone outside of the ACS team.


Define Documentation

#define ACS_DLL_EXPORT   ACE_Proper_Export_Flag

Means ACS does not use static libraries. Some sort of export flag.

#define ACS_DLL_IMPORT   ACE_Proper_Import_Flag

Some sort of export flag.

#define ACS_DLL_UNMANGLED_EXPORT   extern "C" ACS_DLL_EXPORT

Some sort of export flag.

#define ACS_HAS_DLL

This old macro dealing with Orbacus can probably go. Means we do not support the Windows OS. Means ACS uses shared libraries.

#define ACS_HAS_TAO

Means ACS uses TAO.

#define ACS_NEW (   POINTER,
  CONSTRUCTOR 
)    ACE_NEW(POINTER,CONSTRUCTOR)

DESCRIPTION: Allocate memory on the heap.

Same as ACS_NEW_RETURN, but doesn't return a specific value from the current function. Use this in functions returning void, and ACS_NEW_RETURN in all other functions.

SEE ALSO: ACE_NEW

#define ACS_NEW_RETURN (   POINTER,
  CONSTRUCTOR,
  RET_VAL 
)    ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL)

DESCRIPTION: Allocate memory on the heap.

Allocate memory on the heap using constructor CONSTRUCTOR and point POINTER to it. In case of a failure, set *errno* to *ENOMEM* and return from the current function with RET_VAL.

NOTE: Do not use this macro when using placement *new*; rather use ACE_NEW_RETURN.

Placement *new* allows you to to preallocate memory, and at a later time instantiate an object into that memory. Of course, you can instantiate objects in that same memory more than once, thereby reducing the number of memory allocations.

EXAMPLE:

MyClass* AttemptToAllocate() { MyClass *my_object;

ACS_NEW_RETURN(my_object, MyClass(), 0); return my_object; }

#define CDB_HAS_ANY

Means ???.

#define NAMESPACE_BEGIN (   ns  )     namespace ns {
#define NAMESPACE_DIR (   ns,
  code 
)    ns##::##code
#define NAMESPACE_END (   ns  )     }
#define NAMESPACE_USE (   ns  )     using namespace ns;
#define USING_NAMESPACES

Defines we can use namespaces. NOTE:

  • why is this necessary any more?

Typedef Documentation

typedef std::vector<ACE_CString> ACE_CString_Vector

Vector of ACE_CString