1 #ifndef PROTON_ENDPOINT_HPP 
    2 #define PROTON_ENDPOINT_HPP 
   27 #include "./internal/export.hpp" 
   73 template <
class T, 
class D> 
class iter_base {
 
   77     T operator*()
 const { 
return obj_; }
 
   78     T* operator->()
 const { 
return const_cast<T*
>(&obj_); }
 
   79     D operator++(
int) { D x(*
this); ++(*this); 
return x; }
 
   80     bool operator==(
const iter_base<T, D>& x)
 const { 
return obj_ == x.obj_; }
 
   81     bool operator!=(
const iter_base<T, D>& x)
 const { 
return obj_ != x.obj_; }
 
   84     explicit iter_base(T p = 0) : obj_(p) {}
 
   88 template<
class I> 
class iter_range {
 
   92     explicit iter_range(I begin = I(), I end = I()) : begin_(begin), end_(end) {}
 
   93     I begin()
 const { 
return begin_; }
 
   94     I end()
 const { 
return end_; }
 
   95     bool empty()
 const { 
return begin_ == end_; }
 
The base class for session, connection, and link.
Definition: endpoint.hpp:36
virtual bool closed() const =0
True if the local and remote ends are closed.
virtual bool active() const =0
True if the local end is active.
virtual void close(const error_condition &)=0
Close the endpoint with an error condition.
virtual bool uninitialized() const =0
True if the local end is uninitialized.
virtual void close()=0
Close the endpoint.
Describes an endpoint error state.
Definition: error_condition.hpp:39
Describes an endpoint error state.
The main Proton namespace.
Definition: annotation_key.hpp:33
The base Proton error.
Definition: error.hpp:40