ESYS13  Revision_
Pointers.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 #ifndef POINTERS_H_2008
00015 #define POINTERS_H_2008
00016 
00021 // The idea is that we should be able to easily switch between shared_ptr and intrusive_ptr if required
00022 
00023 // Where to find the base class which supplies refcounting
00024 #define REFCOUNT_BASE_FILE <boost/enable_shared_from_this.hpp>
00025 // The name of the class to extend
00026 #define REFCOUNT_BASE_CLASS(x) boost::enable_shared_from_this<x>
00027 
00028 
00029 #define POINTER_WRAPPER_CLASS(x) boost::shared_ptr<x>
00030 
00031 
00032 #include REFCOUNT_BASE_FILE
00033 
00034 
00035 #endif