Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

identity

Overview
Example
Reference

Authors

  • Glen Fernandes

The header <boost/functional/identity.hpp> provides the function object boost::identity whose operator() returns its argument. It is an implementation of C++20's std::identity that supports C++03 and above.

It is commonly used as the default projection in constrained algorithms.

template<class Range, class Projection = boost::identity>
void print(Range&& range, Projection projection = {});
namespace boost {

struct identity {
    using is_transparent = unspecified;

    template<class T>
    T&& operator()(T&& value) const noexcept;
};

} /* boost */

template<class T> T&& operator()(T&& value) const noexcept;

Returns std::forward<T>(value).


PrevUpHomeNext