home | help
std::experi..._source_line(3)  C++ Standard Libary std::experi..._source_line(3)

NAME
     std::experimental::reflect::get_source_line     -	  std::experimental::re-
     flect::get_source_line

Synopsis
	Defined in header <experimental/reflect>
	template< Object T >			  (reflection TS)
	struct get_source_line;

	Provides the member constant value equal to the presumed line number  of
     the
	declaration of the entity or typedef-name reflected by T.

Member constants
	value	  the  presumed  line number of the declaration of the entity or
     typedef-name
	[static] reflected by T
		 (public static member constant)

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

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

Example
	The following code shows the source code line of an object or a class.

     // Run this code

      #include<experimental/reflect>
      #include<iostream>

      using refl = std::experimental::reflect;

      float f;
      struct P{};

      int main()
      {
	  std::cout << refl::get_source_line_v<reflexpr(f)> << '\n';
	  std::cout << refl::get_source_line_v<reflexpr(P)> << '\n';
      }

Output:
      6
      7

See also
	line	    return the line number represented by this object
		    (public member function of std::source_location)
	source_line gets the line number that lexically relates  the  evaluation
     represented
	(C++23)     by the stacktrace_entry
		    (public member function of std::stacktrace_entry)

http://cppreference.com 	   2024.06.10	   std::experi..._source_line(3)

home | help