
22 Jun
2011
22 Jun
'11
4:42 p.m.
On 22 June 2011 18:18, Mathias Gaunard <mathias.gaunard@ens-lyon.org> wrote:
On 22/06/2011 18:02, lcaminiti wrote:
Hello all,
Is there any way to use BOOST_TYPEOF at class level? For example:
struct vect { size_t size();
typedef BOOST_TYPEOF(size()) size_type; // can I make this work somehow?
typedef BOOST_TYPEOF(make<vect>().size()) size_type;
with
#ifndef BOOST_NO_RVALUE_REFERENCES
template<class T> typename enable_if< is_reference<T>, T
::type make();
template<class T> typename disable_if< is_reference<T>, T&
::type make();
#else
T&& make();
#endif
This can be done using boost::type_traits::add_reference I believe: template <class T> typename add_reference<T>::type make(); Jeroen