WvStreams
wvtr1.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  * Provide some aliases for TR1 stuff, with a fallback on Boost.
00006  */
00007 #ifndef __WVTR1_H
00008 #define __WVTR1_H
00009 
00010 #include "wvautoconf.h"
00011 
00012 #if defined(HAVE_TR1_FUNCTIONAL)
00013 
00014 #include <tr1/functional>
00015 #include <tr1/memory>
00016 
00017 namespace wv
00018 {
00019     using std::tr1::bind;
00020     using std::tr1::cref;
00021     using std::tr1::function;
00022     using std::tr1::ref;
00023     using std::tr1::shared_ptr;
00024 }
00025 
00026 namespace {
00027     using namespace std::tr1::placeholders;
00028 }
00029 
00030 #elif defined(HAVE_BOOST_FUNCTION_HPP)
00031 
00032 #include <boost/bind.hpp>
00033 #include <boost/function.hpp>
00034 #include <boost/shared_ptr.hpp>
00035 
00036 namespace wv
00037 {
00038     using boost::bind;
00039     using boost::cref;
00040     using boost::function;
00041     using boost::ref;
00042     using boost::shared_ptr;
00043 }
00044 
00045 #else /* We have neither TR1 or Boost, punt. */
00046 #error "One of TR1 or Boost is required to use WvStreams"
00047 #endif
00048 
00049 #endif /* __WVTR1_H */