boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type > Class Template Reference

#include <builder.hpp>

Inheritance diagram for boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Type integral_type

Public Member Functions

 build_base_from_larger_type (integral_type t)
 build_base_from_larger_type ()
bool compare_exchange_weak (integral_type &expected, integral_type desired, memory_order2 success_order, memory_order2 failure_order) volatile
bool is_lock_free (void)
integral_type load (memory_order2 order=memory_order2_seq_cst) const volatile
void store (integral_type v, memory_order2 order=memory_order2_seq_cst) volatile

Private Types

typedef Base::integral_type larger_integral_type

Private Member Functions

integral_type extract (larger_integral_type v) const volatile
Base & get_base (void) volatile
const Base & get_base (void) const volatile
unsigned int get_offset (void) const volatile
unsigned int get_shift (void) const volatile
larger_integral_type insert (larger_integral_type target, integral_type source) const volatile

Private Attributes

integral_type i

Detailed Description

template<typename Base, typename Type>
class boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >

Definition at line 284 of file builder.hpp.


Member Typedef Documentation

template<typename Base, typename Type>
typedef Type boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::integral_type

Reimplemented in boost_atomic::detail::atomic::build_atomic_from_larger_type< Base, Type >, boost_atomic::detail::atomic::build_exchange< build_base_from_larger_type< atomic_arm_4< uint32_t >, T > >, boost_atomic::detail::atomic::build_exchange< build_base_from_larger_type< atomic_interlocked_32< uint32_t >, T > >, boost_atomic::detail::atomic::build_exchange< build_base_from_larger_type< atomic_linux_arm_4< uint32_t >, T > >, boost_atomic::detail::atomic::build_exchange< build_base_from_larger_type< Base, Type > >, boost_atomic::detail::atomic::build_exchange< build_base_from_larger_type< atomic_ppc_32< uint32_t >, T > >, boost_atomic::detail::atomic::build_fetch_add< build_exchange< build_base_from_larger_type< atomic_linux_arm_4< uint32_t >, T > > >, boost_atomic::detail::atomic::build_fetch_add< build_exchange< build_base_from_larger_type< atomic_arm_4< uint32_t >, T > > >, boost_atomic::detail::atomic::build_fetch_add< build_exchange< build_base_from_larger_type< atomic_ppc_32< uint32_t >, T > > >, boost_atomic::detail::atomic::build_fetch_add< build_exchange< build_base_from_larger_type< Base, Type > > >, boost_atomic::detail::atomic::build_fetch_add< build_exchange< build_base_from_larger_type< atomic_interlocked_32< uint32_t >, T > > >, boost_atomic::detail::atomic::build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_ppc_32< uint32_t >, T > > > >, boost_atomic::detail::atomic::build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_interlocked_32< uint32_t >, T > > > >, boost_atomic::detail::atomic::build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< Base, Type > > > >, boost_atomic::detail::atomic::build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_linux_arm_4< uint32_t >, T > > > >, boost_atomic::detail::atomic::build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_arm_4< uint32_t >, T > > > >, boost_atomic::detail::atomic::build_logicops< build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< Base, Type > > > > >, boost_atomic::detail::atomic::build_logicops< build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_arm_4< uint32_t >, T > > > > >, boost_atomic::detail::atomic::build_logicops< build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_interlocked_32< uint32_t >, T > > > > >, boost_atomic::detail::atomic::build_logicops< build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_ppc_32< uint32_t >, T > > > > >, boost_atomic::detail::atomic::build_logicops< build_arithmeticops< build_fetch_add< build_exchange< build_base_from_larger_type< atomic_linux_arm_4< uint32_t >, T > > > > >, boost_atomic::detail::atomic::build_atomic_from_minimal< build_base_from_larger_type< atomic_arm_4< uint32_t >, T > >, boost_atomic::detail::atomic::build_atomic_from_minimal< build_base_from_larger_type< atomic_interlocked_32< uint32_t >, T > >, boost_atomic::detail::atomic::build_atomic_from_minimal< build_base_from_larger_type< atomic_linux_arm_4< uint32_t >, T > >, boost_atomic::detail::atomic::build_atomic_from_minimal< build_base_from_larger_type< Base, Type > >, boost_atomic::detail::atomic::build_atomic_from_minimal< build_base_from_larger_type< atomic_ppc_32< uint32_t >, T > >, boost_atomic::detail::atomic::build_atomic_from_larger_type< atomic_linux_arm_4< uint32_t >, T >, boost_atomic::detail::atomic::build_atomic_from_larger_type< atomic_arm_4< uint32_t >, T >, boost_atomic::detail::atomic::build_atomic_from_larger_type< atomic_ppc_32< uint32_t >, T >, and boost_atomic::detail::atomic::build_atomic_from_larger_type< atomic_interlocked_32< uint32_t >, T >.

Definition at line 286 of file builder.hpp.

template<typename Base, typename Type>
typedef Base::integral_type boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::larger_integral_type [private]

Definition at line 326 of file builder.hpp.


Constructor & Destructor Documentation

template<typename Base, typename Type>
boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::build_base_from_larger_type (  )  [inline]

Definition at line 288 of file builder.hpp.

template<typename Base, typename Type>
boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::build_base_from_larger_type ( integral_type  t  )  [inline]

Definition at line 289 of file builder.hpp.


Member Function Documentation

template<typename Base, typename Type>
bool boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::compare_exchange_weak ( integral_type expected,
integral_type  desired,
memory_order2  success_order,
memory_order2  failure_order 
) volatile [inline]

Definition at line 296 of file builder.hpp.

template<typename Base, typename Type>
integral_type boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::extract ( larger_integral_type  v  )  const volatile [inline, private]

Definition at line 358 of file builder.hpp.

template<typename Base, typename Type>
Base& boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::get_base ( void   )  volatile [inline, private]

Definition at line 334 of file builder.hpp.

template<typename Base, typename Type>
const Base& boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::get_base ( void   )  const volatile [inline, private]

Definition at line 328 of file builder.hpp.

template<typename Base, typename Type>
unsigned int boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::get_offset ( void   )  const volatile [inline, private]

Definition at line 340 of file builder.hpp.

template<typename Base, typename Type>
unsigned int boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::get_shift ( void   )  const volatile [inline, private]

Definition at line 347 of file builder.hpp.

template<typename Base, typename Type>
larger_integral_type boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::insert ( larger_integral_type  target,
integral_type  source 
) const volatile [inline, private]

Definition at line 363 of file builder.hpp.

template<typename Base, typename Type>
bool boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::is_lock_free ( void   )  [inline]

Definition at line 321 of file builder.hpp.

template<typename Base, typename Type>
integral_type boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::load ( memory_order2  order = memory_order2_seq_cst  )  const volatile [inline]

Definition at line 291 of file builder.hpp.

template<typename Base, typename Type>
void boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::store ( integral_type  v,
memory_order2  order = memory_order2_seq_cst 
) volatile [inline]

Definition at line 311 of file builder.hpp.


Member Data Documentation

template<typename Base, typename Type>
integral_type boost_atomic::detail::atomic::build_base_from_larger_type< Base, Type >::i [private]

Definition at line 378 of file builder.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


rosatomic
Author(s): Josh Faust
autogenerated on Fri Jan 11 09:50:27 2013