// Description: First element function
// Documentation: functions.txt
#ifndef PASTELSYS_FIRST_FUNCTION_H
#define PASTELSYS_FIRST_FUNCTION_H
#include "pastel/sys/function/function_concept.h"
namespace Pastel
{
//! A function f(x) = x.first.
struct First_Function
{
template <typename Type>
decltype(auto) operator()(Type&& x) const
{
// The parenthesis here are important,
// to create a reference.
return (x.first);
}
};
}
#endif