Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::reflect::Object

      From cppreference.com
      <cpp‎ |experimental‎ |reflect
       
       
       
      Extensions for reflection
      Concepts
      Meta-object operations
      Variable
      FunctionParameter
      Callable
      Variable andCallable
      Namespace andCallable
      ParenthesizedExpression
      FunctionCallExpression
      FunctionalConversion
      Variable andFunction
       
      Defined in header<experimental/reflect>
      template<class T>
      concept Object=/* see below */;
      (reflection TS)

      TheObject concept is satisfied if and only ifT is a meta-object type.

      [edit]Example

      Run this code
      #include <experimental/reflect> namespace reflect= std::experimental::reflect; template<reflect::Object M>struct meta_t{template<reflect::Object M1>friendconstexprbool operator==(meta_t, meta_t<M1>)noexcept{return reflect::reflects_same_v<M, M1>;}template<reflect::Object M1>friendconstexprbool operator!=(meta_t, meta_t<M1>)noexcept{return!reflect::reflects_same_v<M, M1>;}}; template<reflect::Object M>constexpr meta_t<M> meta{}; int main(){    static_assert(meta<reflexpr(int)>== meta<reflexpr(signedint)>,"");// meta<int>; // error: int is not a meta-object type}
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/reflect/Object&oldid=139302"

      [8]ページ先頭

      ©2009-2025 Movatter.jp