Skip to content
Snippets Groups Projects
Commit c8826665 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

add ext reference_wrapper

parent f9a3f668
No related branches found
No related tags found
No related merge requests found
/*
* functional.hpp
*
* Created on: Apr 1, 2013
* Author: Jan Travnicek
*/
#ifndef _FUNCTIONAL_HPP_
#define _FUNCTIONAL_HPP_
#include <functional>
namespace ext {
template < class T >
class reference_wrapper : public std::reference_wrapper < T > {
public:
#ifdef __clang__
using std::reference_wrapper < T >::reference_wrapper;
using std::reference_wrapper < T >::operator =;
#else
reference_wrapper ( ) noexcept : std::reference_wrapper < T > ( ) {
}
reference_wrapper ( const reference_wrapper & other ) = default;
reference_wrapper ( reference_wrapper && other ) = default;
using std::reference_wrapper < T >::reference_wrapper;
reference_wrapper & operator = ( reference_wrapper && other ) = default;
reference_wrapper & operator = ( const reference_wrapper & other ) = default;
using std::reference_wrapper < T >::operator =;
#endif
using std::reference_wrapper < T >::operator T &;
};
} /* namespace ext */
#endif /* _FUNCTIONAL_HPP_ */
#ifndef __ALIB_INTERNAL_STD_EXTENSION_
#define __ALIB_INTERNAL_STD_EXTENSION_
 
#include "functional"
#include "extensions/functional.hpp"
 
#undef __ALIB_INTERNAL_STD_EXTENSION_
#else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment