Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::is_lvalue_reference(3)   C++ Standard Libary  std::is_lvalue_reference(3)

NAME
       std::is_lvalue_reference	- std::is_lvalue_reference

Synopsis
	  Defined in header <type_traits>
	  template< class T >		   (since C++11)
	  struct is_lvalue_reference;

	  Checks  whether  T  is  a lvalue reference type. Provides the	member
       constant	value
	  which	is equal to true, if T is a lvalue reference type.  Otherwise,
       value is	equal
	  to false.

	  The	behavior   of	a   program   that  adds  specializations  for
       is_lvalue_reference
	  or is_lvalue_reference_v
	  (since C++17)	is undefined.

Template parameters
	  T - a	type to	check

	 Helper	variable template

	  template< class T >
	  inline      constexpr	      bool	 is_lvalue_reference_v	     =
       (since C++17)
	  is_lvalue_reference<T>::value;

       Inherited from std::integral_constant

Member constants
	  value	   true	if T is	an lvalue reference type , false otherwise
	  [static] (public static member constant)

Member functions
	  operator bool	converts the object to bool, returns value
			(public	member function)
	  operator()	returns	value
	  (C++14)	(public	member function)

Member types
	  Type	     Definition
	  value_type bool
	  type	     std::integral_constant<bool, value>

Possible implementation
	  template<class  T>  struct is_lvalue_reference     : std::false_type
       {};
	  template<class T> struct  is_lvalue_reference<T&>  :	std::true_type
       {};

Example
       // Run this code

	#include <iostream>
	#include <type_traits>

	class A	{};

	int main()
	{
	    std::cout << std::boolalpha;
	    std::cout << std::is_lvalue_reference<A>::value << '\n';
	    std::cout << std::is_lvalue_reference<A&>::value <<	'\n';
	    std::cout << std::is_lvalue_reference<A&&>::value << '\n';
	    std::cout << std::is_lvalue_reference<int>::value << '\n';
	    std::cout << std::is_lvalue_reference<int&>::value << '\n';
	    std::cout << std::is_lvalue_reference<int&&>::value	<< '\n';
	}

Output:
	false
	true
	false
	false
	true
	false

See also
	  is_reference	      checks if	a type is either a lvalue reference or
       rvalue
	  (C++11)	      reference
			      (class template)
	  is_rvalue_reference checks if	a type is a rvalue reference
	  (C++11)	      (class template)

http://cppreference.com		  2022.07.31	   std::is_lvalue_reference(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::is_lvalue_reference&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help