- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/svn-release/Alps-1.4.5/Alps/src/AlpsMACH.h

Go to the documentation of this file.

    00001 /*===========================================================================*
    00002  * This file is part of the Abstract Library for Parallel Search (ALPS).     *
    00003  *                                                                           *
    00004  * ALPS is distributed under the Eclipse Public License as part of the       *
    00005  * COIN-OR repository (http://www.coin-or.org).                              *
    00006  *                                                                           *
    00007  * Authors:                                                                  *
    00008  *                                                                           *
    00009  *          Yan Xu, Lehigh University                                        *
    00010  *          Ted Ralphs, Lehigh University                                    *
    00011  *                                                                           *
    00012  * Conceptual Design:                                                        *
    00013  *                                                                           *
    00014  *          Yan Xu, Lehigh University                                        *
    00015  *          Ted Ralphs, Lehigh University                                    *
    00016  *          Laszlo Ladanyi, IBM T.J. Watson Research Center                  *
    00017  *          Matthew Saltzman, Clemson University                             *
    00018  *                                                                           *
    00019  *                                                                           *
    00020  * Copyright (C) 2001-2013, Lehigh University, Yan Xu, and Ted Ralphs.       *
    00021  *===========================================================================*/
    00022
    00023 #ifndef AlpsMACH_h
    00024 #define AlpsMACH_h
    00025
    00026 // AlpsMACH.h is modified from BCP_MACH.hpp
    00027 // This file is fully docified.
    00028 // There's nothing to docify...
    00029
    00030 typedef int AlpsIndexType;
    00031
    00032 #if defined(__GNUC__)
    00033
    00034 #  include <sys/time.h>     // for gettimeofday()
    00035 #  include <sys/resource.h> // for setpriority()
    00036 #  ifndef __USE_BSD
    00037 #    define __USE_BSD  // to get gethostname() from unistd.h
    00038 #    include <unistd.h>
    00039 #    undef __USE_BSD
    00040 #  else
    00041 #    include <unistd.h>
    00042 #  endif
    00043 #  define AlpsPtrDiff       int
    00044
    00045 #  if (__GNUC__ >= 3)
    00046
    00047 #    define NEED_TEMPLATE_CLASSES
    00048 #    define NEED_TEMPLATE_FUNCTIONS
    00049 // #    define NEED_STD_TEMPLATE_FUNCTIONS
    00050 // #    define NEED_IMPLICIT_TEMPLATE_CLASSES
    00051 // #    define NEED_IMPLICIT_TEMPLATE_FUNCTIONS
    00052 #    define ALPS_CONSTRUCT     std::_Construct
    00053 #    define ALPS_DESTROY       std::_Destroy
    00054 #    define ALPS_DESTROY_RANGE std::_Destroy
    00055
    00056 #  else
    00057
    00058 #    define NEED_TEMPLATE_CLASSES
    00059 #    define NEED_TEMPLATE_FUNCTIONS
    00060 // #    define NEED_STD_TEMPLATE_FUNCTIONS
    00061 // #    define NEED_IMPLICIT_TEMPLATE_CLASSES
    00062 // #    define NEED_IMPLICIT_TEMPLATE_FUNCTIONS
    00063 #    define ALPS_CONSTRUCT     std::construct
    00064 #    define ALPS_DESTROY       std::destroy
    00065 #    define ALPS_DESTROY_RANGE std::destroy
    00066
    00067 #  endif
    00068
    00069 #endif
    00070
    00071 #endif