Proton
1.1.1
Make porting easy from Python to C++11
|
The core reference support template. More...
#include <proton/ref.hpp>
Public Member Functions | |
ref_ () | |
default ctor. | |
template<typename... argT> | |
ref_ (init_alloc, argT &&...a) | |
explicit forwarding ctor. | |
template<typename... argT> | |
ref_ (argT &&...a) | |
implicit forwarding ctor. | |
template<typename T > | |
ref_ (init_alloc, std::initializer_list< T > a) | |
explicit initializer_list forwarding ctor. | |
template<typename T > | |
ref_ (std::initializer_list< T > a) | |
implicit initializer_list forwarding ctor. | |
ref_ (const ref_ &r) | |
copy ctor. | |
ref_ (ref_ &&r) noexcept | |
move ctor. | |
ref_ & | operator= (const ref_ &r) |
assign operator. | |
ref_ & | operator= (ref_ &&r) noexcept(noexcept(_p->~objT())) |
assign move operator. | |
~ref_ () noexcept(noexcept(_p->~objT())) | |
dtor. | |
template<typename baseT , typename = typename std::enable_if< std::is_base_of<baseT, obj_t>::value >::type> | |
operator ref_< baseT > () const noexcept | |
conversion to baseT. | |
objT * | operator-> () |
operator-> points to the object refered. | |
const objT * | operator-> () const |
operator-> points to the object refered. | |
template<typename T > | |
bool | operator== (const T &x) const |
general operator== for refs. | |
template<typename T > | |
bool | operator< (const T &x) const |
general operator< for refs. | |
template<typename... T> | |
auto | operator() (T &&...x) const -> decltype((*_p)(x...)) |
general operator() const for refs. | |
template<typename... T> | |
auto | operator() (T &&...x)-> decltype((*_p)(x...)) |
general operator() for refs. | |
template<typename T > | |
auto | operator[] (T &&x) const -> decltype((*_p)[x]) |
general operator[] const for refs. | |
template<typename T > | |
auto | operator[] (T &&x)-> decltype((*_p)[x]) |
general operator[] for refs. |
The core reference support template.
allocator | It must support confiscate(), and allocator::allocate() must be static. |
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
general operator() const for refs.
Need to implement obj_t() const.
Definition at line 517 of file ref.hpp.
References proton::is_null(), and PROTON_THROW_IF.
|
inline |
general operator() for refs.
Need to implement obj_t().
Definition at line 526 of file ref.hpp.
References proton::is_null(), and PROTON_THROW_IF.
|
inline |
general operator< for refs.
Need to implement obj_t < T::obj_t.
Definition at line 486 of file ref.hpp.
References proton::is_null().
|
inline |
general operator== for refs.
Need to implement obj_t == T::obj_t.
Definition at line 467 of file ref.hpp.
References proton::is_null().
|
inline |
general operator[] const for refs.
Need to implement obj_t[] const.
Definition at line 535 of file ref.hpp.
References proton::is_null(), and PROTON_THROW_IF.
|
inline |
general operator[] for refs.
Need to implement obj_t[].
Definition at line 544 of file ref.hpp.
References proton::is_null(), and PROTON_THROW_IF.