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