33#ifndef _RWSTD_RW_ATOMIC_MUTEX_H_INCLUDED
34#define _RWSTD_RW_ATOMIC_MUTEX_H_INCLUDED
37#ifndef _RWSTD_RW_MUTEX_H_INCLUDED
47template <
class _TypeT>
49_TypeT __rw_atomic_preincrement (_TypeT &__t, __rw_mutex_base &__mutex)
57template <
class _TypeT>
59_TypeT __rw_atomic_predecrement (_TypeT &__t, __rw_mutex_base &__mutex)
67template <
class _TypeT,
class _TypeU>
69_TypeT __rw_atomic_exchange (_TypeT &__t,
const _TypeU &__u,
70 __rw_mutex_base &__mutex)
91template <
class _TypeT>
93_TypeT __rw_atomic_preincrement (_TypeT &__t,
bool)
95 return __rw_atomic_preincrement (__t,
96 __rw_get_static_mutex ((_TypeT*)0));
100template <
class _TypeT>
102_TypeT __rw_atomic_predecrement (_TypeT &__t,
bool)
104 return __rw_atomic_predecrement (__t,
105 __rw_get_static_mutex ((_TypeT*)0));
109template <
class _TypeT,
class _TypeU>
111_TypeT __rw_atomic_exchange (_TypeT &__t,
const _TypeU &__u,
bool)
113 return __rw_atomic_exchange (__t, __u,
114 __rw_get_static_mutex ((_TypeT*)0));
#define _RWSTD_STATIC_CAST(T, x)
#define _RWSTD_NAMESPACE(name)
#define _RWSTD_MT_GUARD(ignore)