Compile time check if type T has begin() and end() methods.
More...
#include "attribute-container-accessor-helper.h"
|
template<typename C > |
static char(& | f (...))[2] |
|
template<typename C > |
static char(& | f (typename std::enable_if< std::is_same< decltype(static_cast< typename C::const_iterator(C::*)() const >(&C::begin)), typename C::const_iterator(C::*)() const >::value, void >::type *))[1] |
|
template<typename C > |
static char(& | g (...))[2] |
|
template<typename C > |
static char(& | g (typename std::enable_if< std::is_same< decltype(static_cast< typename C::const_iterator(C::*)() const >(&C::end)), typename C::const_iterator(C::*)() const >::value, void >::type *))[1] |
|
|
static bool const | beg_value = sizeof(f<T>(0)) == 1 |
|
static bool const | end_value = sizeof(g<T>(0)) == 1 |
|
template<typename T>
struct ns3::has_begin_end< T >
Compile time check if type T has begin() and end() methods.
Definition at line 55 of file attribute-container-accessor-helper.h.
◆ f() [1/2]
template<typename T >
template<typename C >
◆ f() [2/2]
template<typename T >
template<typename C >
static char(& ns3::has_begin_end< T >::f |
( |
typename std::enable_if< std::is_same< decltype(static_cast< typename C::const_iterator(C::*)() const >(&C::begin)), typename C::const_iterator(C::*)() const >::value |
, |
|
|
void |
, |
|
|
::type * |
|
|
) |
| )[1] |
|
static |
◆ g() [1/2]
template<typename T >
template<typename C >
◆ g() [2/2]
template<typename T >
template<typename C >
static char(& ns3::has_begin_end< T >::g |
( |
typename std::enable_if< std::is_same< decltype(static_cast< typename C::const_iterator(C::*)() const >(&C::end)), typename C::const_iterator(C::*)() const >::value |
, |
|
|
void |
, |
|
|
::type * |
|
|
) |
| )[1] |
|
static |
◆ beg_value
◆ end_value
The documentation for this struct was generated from the following file: