/**
 * @file
 * $Id: uid.h 3010 2006-12-16 18:01:08Z plasmahh $
 * $Revision: 3010 $
 * $Author: plasmahh $
 * $Date: 2006-12-16 19:01:08 +0100 (Sa, 16 Dez 2006) $
 *
 * This file is part of The iWear Framework.
 * In particular this file is part of the Framework Core Library
 *
 * The iWear Framework is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by the
 * Free Software Foundation as in version 2 of the License.

 * 
 * The iWear Framework is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * The iWear Framework; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __IWEAR_BOOST_ATOMIC_H
#define __IWEAR_BOOST_ATOMIC_H

#include "boost/shared_ptr.hpp" // this will always get somehow the needed atomics

/**
 * Just a few thin wrappers that can be inlined to noops, so in case boost
 * details change, we can simply do it here.
 */
namespace iwear
{

namespace bd = boost::detail;

inline void atomic_increment( int& i )
{
    bd::atomic_increment(&i);
}

inline int atomic_exchange_and_add( int& i, int delta )
{
    return bd::atomic_exchange_and_add(&i,delta);
}

}

#endif
