This is Unofficial EPICS BASE Doxygen Site
boost Namespace Reference

Namespaces

 assertion
 
 detail
 
 exception_detail
 

Classes

class  bad_weak_ptr
 
struct  checked_array_deleter
 
struct  checked_deleter
 
class  enable_shared_from_this
 
class  error_info
 
class  error_info< throw_file_, char const * >
 
class  error_info< throw_function_, char const * >
 
class  error_info< throw_line_, int >
 
class  exception
 
struct  hash
 
class  shared_ptr
 
class  weak_ptr
 

Typedefs

typedef error_info< struct throw_function_, char const * > throw_function
 
typedef error_info< struct throw_file_, char const * > throw_file
 
typedef error_info< struct throw_line_, int > throw_line
 

Enumerations

enum  memory_order {
  memory_order_relaxed = 0, memory_order_acquire = 1, memory_order_release = 2, memory_order_acq_rel = 3,
  memory_order_seq_cst = 7, memory_order_consume = 8
}
 

Functions

template<class T >
void checked_delete (T *x)
 
template<class T >
void checked_array_delete (T *x)
 
template<class T >
exception_detail::enable_error_info_return_type< T >::type enable_error_info (T const &x)
 
template<class T >
exception_detail::clone_impl< T > enable_current_exception (T const &x)
 
template<class T , class U >
bool operator== (shared_ptr< T > const &a, shared_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T , class U >
bool operator!= (shared_ptr< T > const &a, shared_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T >
bool operator== (shared_ptr< T > const &p, boost::detail::sp_nullptr_t) BOOST_NOEXCEPT
 
template<class T >
bool operator== (boost::detail::sp_nullptr_t, shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T >
bool operator!= (shared_ptr< T > const &p, boost::detail::sp_nullptr_t) BOOST_NOEXCEPT
 
template<class T >
bool operator!= (boost::detail::sp_nullptr_t, shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T , class U >
bool operator< (shared_ptr< T > const &a, shared_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T >
void swap (shared_ptr< T > &a, shared_ptr< T > &b) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< T > static_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< T > const_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< T > dynamic_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T , class U >
shared_ptr< T > reinterpret_pointer_cast (shared_ptr< U > const &r) BOOST_NOEXCEPT
 
template<class T >
shared_ptr< T >::element_typeget_pointer (shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class E , class T , class Y >
std::basic_ostream< E, T > & operator<< (std::basic_ostream< E, T > &os, shared_ptr< Y > const &p)
 
template<class D , class T >
D * get_deleter (shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T >
bool atomic_is_lock_free (shared_ptr< T > const *) BOOST_NOEXCEPT
 
template<class T >
shared_ptr< T > atomic_load (shared_ptr< T > const *p)
 
template<class T >
shared_ptr< T > atomic_load_explicit (shared_ptr< T > const *p, memory_order)
 
template<class T >
void atomic_store (shared_ptr< T > *p, shared_ptr< T > r)
 
template<class T >
void atomic_store_explicit (shared_ptr< T > *p, shared_ptr< T > r, memory_order)
 
template<class T >
shared_ptr< T > atomic_exchange (shared_ptr< T > *p, shared_ptr< T > r)
 
template<class T >
shared_ptr< T > atomic_exchange_explicit (shared_ptr< T > *p, shared_ptr< T > r, memory_order)
 
template<class T >
bool atomic_compare_exchange (shared_ptr< T > *p, shared_ptr< T > *v, shared_ptr< T > w)
 
template<class T >
bool atomic_compare_exchange_explicit (shared_ptr< T > *p, shared_ptr< T > *v, shared_ptr< T > w, memory_order, memory_order)
 
template<class T >
std::size_t hash_value (boost::shared_ptr< T > const &p) BOOST_NOEXCEPT
 
template<class T , class U >
bool operator< (weak_ptr< T > const &a, weak_ptr< U > const &b) BOOST_NOEXCEPT
 
template<class T >
void swap (weak_ptr< T > &a, weak_ptr< T > &b) BOOST_NOEXCEPT
 
void throw_exception_assert_compatibility (std::exception const &)
 
template<class E >
BOOST_ATTRIBUTE_NORETURN void throw_exception (E const &e)
 

Typedef Documentation

typedef error_info<struct throw_file_,char const *> boost::throw_file

Definition at line 90 of file exception.hpp.

typedef error_info<struct throw_function_,char const *> boost::throw_function

Definition at line 87 of file exception.hpp.

typedef error_info<struct throw_line_,int> boost::throw_line

Definition at line 91 of file exception.hpp.

Enumeration Type Documentation

Enumerator
memory_order_relaxed 
memory_order_acquire 
memory_order_release 
memory_order_acq_rel 
memory_order_seq_cst 
memory_order_consume 

Definition at line 41 of file memory_order.hpp.

Function Documentation

template<class T >
bool boost::atomic_compare_exchange ( shared_ptr< T > *  p,
shared_ptr< T > *  v,
shared_ptr< T >  w 
)

Definition at line 990 of file shared_ptr.hpp.

991 {
993 
994  sp.lock();
995 
996  if( p->_internal_equiv( *v ) )
997  {
998  p->swap( w );
999 
1000  sp.unlock();
1001 
1002  return true;
1003  }
1004  else
1005  {
1006  shared_ptr<T> tmp( *p );
1007 
1008  sp.unlock();
1009 
1010  tmp.swap( *v );
1011  return false;
1012  }
1013 }
static spinlock & spinlock_for(void const *pv)
template<class T >
bool boost::atomic_compare_exchange_explicit ( shared_ptr< T > *  p,
shared_ptr< T > *  v,
shared_ptr< T >  w,
memory_order  ,
memory_order   
)
inline

Definition at line 1015 of file shared_ptr.hpp.

1016 {
1017  return atomic_compare_exchange( p, v, w ); // std::move( w )
1018 }
bool atomic_compare_exchange(shared_ptr< T > *p, shared_ptr< T > *v, shared_ptr< T > w)
Definition: shared_ptr.hpp:990
template<class T >
shared_ptr<T> boost::atomic_exchange ( shared_ptr< T > *  p,
shared_ptr< T >  r 
)

Definition at line 974 of file shared_ptr.hpp.

975 {
977 
978  sp.lock();
979  p->swap( r );
980  sp.unlock();
981 
982  return r; // return std::move( r )
983 }
static spinlock & spinlock_for(void const *pv)
template<class T >
shared_ptr<T> boost::atomic_exchange_explicit ( shared_ptr< T > *  p,
shared_ptr< T >  r,
memory_order   
)

Definition at line 985 of file shared_ptr.hpp.

986 {
987  return atomic_exchange( p, r ); // std::move( r )
988 }
shared_ptr< T > atomic_exchange(shared_ptr< T > *p, shared_ptr< T > r)
Definition: shared_ptr.hpp:974
template<class T >
bool boost::atomic_is_lock_free ( shared_ptr< T > const *  )
inline

Definition at line 947 of file shared_ptr.hpp.

948 {
949  return false;
950 }
template<class T >
shared_ptr<T> boost::atomic_load ( shared_ptr< T > const *  p)

Definition at line 952 of file shared_ptr.hpp.

953 {
955  return *p;
956 }
epicsMutexId lock
Definition: osiClockTime.c:37
template<class T >
shared_ptr<T> boost::atomic_load_explicit ( shared_ptr< T > const *  p,
memory_order   
)
inline

Definition at line 958 of file shared_ptr.hpp.

959 {
960  return atomic_load( p );
961 }
shared_ptr< T > atomic_load(shared_ptr< T > const *p)
Definition: shared_ptr.hpp:952
template<class T >
void boost::atomic_store ( shared_ptr< T > *  p,
shared_ptr< T >  r 
)

Definition at line 963 of file shared_ptr.hpp.

964 {
966  p->swap( r );
967 }
epicsMutexId lock
Definition: osiClockTime.c:37
template<class T >
void boost::atomic_store_explicit ( shared_ptr< T > *  p,
shared_ptr< T >  r,
memory_order   
)
inline

Definition at line 969 of file shared_ptr.hpp.

970 {
971  atomic_store( p, r ); // std::move( r )
972 }
void atomic_store(shared_ptr< T > *p, shared_ptr< T > r)
Definition: shared_ptr.hpp:963
template<class T >
void boost::checked_array_delete ( T *  x)
inline

Definition at line 37 of file checked_delete.hpp.

38 {
39  typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
40  (void) sizeof(type_must_be_complete);
41  delete [] x;
42 }
template<class T >
void boost::checked_delete ( T *  x)
inline

Definition at line 29 of file checked_delete.hpp.

30 {
31  // intentionally complex - simplification causes regressions
32  typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
33  (void) sizeof(type_must_be_complete);
34  delete x;
35 }
template<class T , class U >
shared_ptr< T > boost::const_pointer_cast ( shared_ptr< U > const &  r)

Definition at line 798 of file shared_ptr.hpp.

799 {
800  (void) const_cast< T* >( static_cast< U* >( 0 ) );
801 
802  typedef typename shared_ptr<T>::element_type E;
803 
804  E * p = const_cast< E* >( r.get() );
805  return shared_ptr<T>( r, p );
806 }
element_type
Definition: postfix.c:33
template<class T , class U >
shared_ptr< T > boost::dynamic_pointer_cast ( shared_ptr< U > const &  r)

Definition at line 808 of file shared_ptr.hpp.

809 {
810  (void) dynamic_cast< T* >( static_cast< U* >( 0 ) );
811 
812  typedef typename shared_ptr<T>::element_type E;
813 
814  E * p = dynamic_cast< E* >( r.get() );
815  return p? shared_ptr<T>( r, p ): shared_ptr<T>();
816 }
element_type
Definition: postfix.c:33
template<class T >
exception_detail::clone_impl<T> boost::enable_current_exception ( T const &  x)
inline

Definition at line 474 of file exception.hpp.

475  {
476  return exception_detail::clone_impl<T>(x);
477  }
template<class T >
exception_detail::enable_error_info_return_type<T>::type boost::enable_error_info ( T const &  x)
inline

Definition at line 375 of file exception.hpp.

376  {
378  return rt(x);
379  }
pvd::StructureConstPtr type
template<class D , class T >
D * boost::get_deleter ( shared_ptr< T > const &  p)

Definition at line 928 of file shared_ptr.hpp.

929 {
930  D *del = boost::detail::basic_get_deleter<D>(p);
931 
932  if(del == 0)
933  {
934  boost::detail::esft2_deleter_wrapper *del_wrapper = boost::detail::basic_get_deleter<boost::detail::esft2_deleter_wrapper>(p);
935 // The following get_deleter method call is fully qualified because
936 // older versions of gcc (2.95, 3.2.3) fail to compile it when written del_wrapper->get_deleter<D>()
937  if(del_wrapper) del = del_wrapper->::boost::detail::esft2_deleter_wrapper::get_deleter<D>();
938  }
939 
940  return del;
941 }
template<class T >
shared_ptr<T>::element_type* boost::get_pointer ( shared_ptr< T > const &  p)
inline

Definition at line 830 of file shared_ptr.hpp.

831 {
832  return p.get();
833 }
template<class T >
std::size_t boost::hash_value ( boost::shared_ptr< T > const &  p)

Definition at line 1026 of file shared_ptr.hpp.

1027 {
1028  return boost::hash< T* >()( p.get() );
1029 }
element_type * get() const BOOST_NOEXCEPT
Definition: shared_ptr.hpp:666
template<class T , class U >
bool boost::operator!= ( shared_ptr< T > const &  a,
shared_ptr< U > const &  b 
)
inline

Definition at line 738 of file shared_ptr.hpp.

739 {
740  return a.get() != b.get();
741 }
template<class T >
bool boost::operator!= ( shared_ptr< T > const &  p,
boost::detail::sp_nullptr_t   
)
inline

Definition at line 766 of file shared_ptr.hpp.

767 {
768  return p.get() != 0;
769 }
template<class T >
bool boost::operator!= ( boost::detail::sp_nullptr_t  ,
shared_ptr< T > const &  p 
)
inline

Definition at line 771 of file shared_ptr.hpp.

772 {
773  return p.get() != 0;
774 }
template<class T , class U >
bool boost::operator< ( weak_ptr< T > const &  a,
weak_ptr< U > const &  b 
)
inline

Definition at line 241 of file weak_ptr.hpp.

242 {
243  return a.owner_before( b );
244 }
template<class T , class U >
bool boost::operator< ( shared_ptr< T > const &  a,
shared_ptr< U > const &  b 
)
inline

Definition at line 778 of file shared_ptr.hpp.

779 {
780  return a.owner_before( b );
781 }
template<class E , class T , class Y >
std::basic_ostream<E, T>& boost::operator<< ( std::basic_ostream< E, T > &  os,
shared_ptr< Y > const &  p 
)

Definition at line 857 of file shared_ptr.hpp.

859 {
860  os << p.get();
861  return os;
862 }
template<class T , class U >
bool boost::operator== ( shared_ptr< T > const &  a,
shared_ptr< U > const &  b 
)
inline

Definition at line 733 of file shared_ptr.hpp.

734 {
735  return a.get() == b.get();
736 }
template<class T >
bool boost::operator== ( shared_ptr< T > const &  p,
boost::detail::sp_nullptr_t   
)
inline

Definition at line 756 of file shared_ptr.hpp.

757 {
758  return p.get() == 0;
759 }
template<class T >
bool boost::operator== ( boost::detail::sp_nullptr_t  ,
shared_ptr< T > const &  p 
)
inline

Definition at line 761 of file shared_ptr.hpp.

762 {
763  return p.get() == 0;
764 }
template<class T , class U >
shared_ptr<T> boost::reinterpret_pointer_cast ( shared_ptr< U > const &  r)

Definition at line 818 of file shared_ptr.hpp.

819 {
820  (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) );
821 
822  typedef typename shared_ptr<T>::element_type E;
823 
824  E * p = reinterpret_cast< E* >( r.get() );
825  return shared_ptr<T>( r, p );
826 }
element_type
Definition: postfix.c:33
template<class T , class U >
shared_ptr< T > boost::static_pointer_cast ( shared_ptr< U > const &  r)

Definition at line 788 of file shared_ptr.hpp.

789 {
790  (void) static_cast< T* >( static_cast< U* >( 0 ) );
791 
792  typedef typename shared_ptr<T>::element_type E;
793 
794  E * p = static_cast< E* >( r.get() );
795  return shared_ptr<T>( r, p );
796 }
element_type
Definition: postfix.c:33
template<class T >
void boost::swap ( weak_ptr< T > &  a,
weak_ptr< T > &  b 
)

Definition at line 246 of file weak_ptr.hpp.

247 {
248  a.swap(b);
249 }
template<class T >
void boost::swap ( shared_ptr< T > &  a,
shared_ptr< T > &  b 
)
inline

Definition at line 783 of file shared_ptr.hpp.

784 {
785  a.swap(b);
786 }
template<class E >
BOOST_ATTRIBUTE_NORETURN void boost::throw_exception ( E const &  e)
inline

Definition at line 60 of file throw_exception.hpp.

61 {
62  //All boost exceptions are required to derive from std::exception,
63  //to ensure compatibility with BOOST_NO_EXCEPTIONS.
65 
66 #ifndef BOOST_EXCEPTION_DISABLE
68 #else
69  throw e;
70 #endif
71 }
exception_detail::clone_impl< T > enable_current_exception(T const &x)
Definition: exception.hpp:474
void throw_exception_assert_compatibility(std::exception const &)
exception_detail::enable_error_info_return_type< T >::type enable_error_info(T const &x)
Definition: exception.hpp:375
void boost::throw_exception_assert_compatibility ( std::exception const &  )
inline

Definition at line 58 of file throw_exception.hpp.

58 { }