reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/ADT/Optional.h
  144     T value;
  160   explicit OptionalStorage(in_place_t, Args &&... args)
  161       : value(std::forward<Args>(args)...), hasVal(true) {}
  172   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
  176   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
  181   T &&getValue() && noexcept {
  206       ::new ((void *)std::addressof(value)) T(std::move(y));
  216   optional_detail::OptionalStorage<T> Storage;
  219   using value_type = T;
  224   Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
  227   Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
  230   Optional &operator=(T &&y) {
  241   static inline Optional create(const T *y) {
  245   Optional &operator=(const T &y) {
  253   const T *getPointer() const { return &Storage.getValue(); }
  254   T *getPointer() { return &Storage.getValue(); }
  255   const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  256   T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  260   const T *operator->() const { return getPointer(); }
  261   T *operator->() { return getPointer(); }
  262   const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
  263   T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  271   T &&getValue() && { return std::move(Storage.getValue()); }
  272   T &&operator*() && { return std::move(Storage.getValue()); }
  275   T getValueOr(U &&value) && {
  316 bool operator==(const Optional<T> &X, NoneType) {
  326 bool operator!=(const Optional<T> &X, NoneType) {
  367 template <typename T> bool operator==(const Optional<T> &X, const T &Y) {
  367 template <typename T> bool operator==(const Optional<T> &X, const T &Y) {
  375 template <typename T> bool operator!=(const Optional<T> &X, const T &Y) {
  375 template <typename T> bool operator!=(const Optional<T> &X, const T &Y) {
include/llvm/ADT/STLExtras.h
 1002       std::is_same<T, U>::value || is_one_of<T, Ts...>::value;
 1002       std::is_same<T, U>::value || is_one_of<T, Ts...>::value;
include/llvm/ADT/SmallVector.h
  641   template <typename... ArgTypes> reference emplace_back(ArgTypes &&... Args) {
include/llvm/BinaryFormat/Dwarf.h
  511 unsigned FormVersion(Form F);
  525 unsigned FormVendor(Form F);
  585 Optional<uint8_t> getFixedFormByteSize(dwarf::Form Form, FormParams Params);
  589 bool isValidFormForVersion(Form F, unsigned Version, bool ExtensionsOk = true);
  665   static void format(const Enum &E, raw_ostream &OS, StringRef Style) {
  666     StringRef Str = dwarf::EnumTraits<Enum>::StringFn(E);
  668       OS << "DW_" << dwarf::EnumTraits<Enum>::Type << "_unknown_"
include/llvm/CodeGen/DIE.h
   54   dwarf::Form Form;
   60   DIEAbbrevData(dwarf::Attribute A, dwarf::Form F)
   68   dwarf::Form getForm() const { return Form; }
  109   void AddAttribute(dwarf::Attribute Attribute, dwarf::Form Form) {
  170   static dwarf::Form BestForm(bool IsSigned, uint64_t Int) {
  193   void EmitValue(const AsmPrinter *Asm, dwarf::Form Form) const;
  194   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  210   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  211   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  227   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  228   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  245   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  247   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  262   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  263   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  281   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  282   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  303   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  304   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  322   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  323   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  341   void EmitValue(const AsmPrinter *AP, dwarf::Form Form) const;
  342   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  364   dwarf::Form Form = (dwarf::Form)0;
  471   dwarf::Form getForm() const { return Form; }
  692                     dwarf::Form Form, T &&Value) {
  915   dwarf::Form BestForm(unsigned DwarfVersion) const {
  928   void EmitValue(const AsmPrinter *Asm, dwarf::Form Form) const;
  929   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
  949   dwarf::Form BestForm() const {
  959   void EmitValue(const AsmPrinter *Asm, dwarf::Form Form) const;
  960   unsigned SizeOf(const AsmPrinter *AP, dwarf::Form Form) const;
include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
   30     AttributeSpec(dwarf::Attribute A, dwarf::Form F, int64_t Value)
   34     AttributeSpec(dwarf::Attribute A, dwarf::Form F, Optional<uint8_t> ByteSize)
   43     dwarf::Form Form;
  100   dwarf::Form getFormByIndex(uint32_t idx) const {
include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
   97     using Form = dwarf::Form;
  255     dwarf::Form Form;
  257     constexpr AttributeEncoding(dwarf::Index Index, dwarf::Form Form)
include/llvm/DebugInfo/DWARF/DWARFFormValue.h
   57   dwarf::Form Form;             /// Form for this value.
   62   DWARFFormValue(dwarf::Form F, ValueType V) : Form(F), Value(V) {}
   65   DWARFFormValue(dwarf::Form F = dwarf::Form(0)) : Form(F) {}
   67   static DWARFFormValue createFromSValue(dwarf::Form F, int64_t V);
   68   static DWARFFormValue createFromUValue(dwarf::Form F, uint64_t V);
   69   static DWARFFormValue createFromPValue(dwarf::Form F, const char *V);
   70   static DWARFFormValue createFromBlockValue(dwarf::Form F,
   72   static DWARFFormValue createFromUnit(dwarf::Form F, const DWARFUnit *Unit,
   75   dwarf::Form getForm() const { return Form; }
  146   static bool skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
include/llvm/ObjectYAML/DWARFYAML.h
   49   llvm::dwarf::Form Form;
  281   static void enumeration(IO &io, dwarf::Form &value) {
include/llvm/Support/Format.h
   83   static_assert(std::is_scalar<Arg>::value,
   91   std::tuple<Ts...> Vals;
  104   format_object(const char *fmt, const Ts &... vals)
  124 inline format_object<Ts...> format(const char *Fmt, const Ts &... Vals) {
  124 inline format_object<Ts...> format(const char *Fmt, const Ts &... Vals) {
include/llvm/Support/FormatVariadic.h
  253 inline auto formatv(const char *Fmt, Ts &&... Vals) -> formatv_object<decltype(
  254     std::make_tuple(detail::build_format_adapter(std::forward<Ts>(Vals))...))> {
  256       std::make_tuple(detail::build_format_adapter(std::forward<Ts>(Vals))...));
  259       std::make_tuple(detail::build_format_adapter(std::forward<Ts>(Vals))...));
include/llvm/Support/FormatVariadicDetails.h
   33   T Item;
   36   explicit provider_format_adapter(T &&Item) : Item(std::forward<T>(Item)) {}
   36   explicit provider_format_adapter(T &&Item) : Item(std::forward<T>(Item)) {}
   39     format_provider<typename std::decay<T>::type>::format(Item, S, Options);
   62   using Decayed = typename std::decay<T>::type;
   78   using ConstRefT = const typename std::decay<T>::type &;
  136 typename std::enable_if<uses_format_provider<T>::value,
  137                         provider_format_adapter<T>>::type
  138 build_format_adapter(T &&Item) {
  139   return provider_format_adapter<T>(std::forward<T>(Item));
include/llvm/Support/YAMLTraits.h
  313   using Signature_enumeration = void (*)(class IO&, T&);
  322     (sizeof(test<ScalarEnumerationTraits<T>>(nullptr)) == 1);
  329   using Signature_bitset = void (*)(class IO&, T&);
  337   static bool const value = (sizeof(test<ScalarBitSetTraits<T>>(nullptr)) == 1);
  344   using Signature_input = StringRef (*)(StringRef, void*, T&);
  345   using Signature_output = void (*)(const T&, void*, raw_ostream&);
  357       (sizeof(test<ScalarTraits<T>>(nullptr, nullptr, nullptr)) == 1);
  364   using Signature_input = StringRef (*)(StringRef, void *, T &);
  365   using Signature_output = void (*)(const T &, void *, raw_ostream &);
  375       (sizeof(test<BlockScalarTraits<T>>(nullptr, nullptr)) == 1);
  380   using Signature_input = StringRef (*)(StringRef, StringRef, void *, T &);
  381   using Signature_output = void (*)(const T &, void *, raw_ostream &,
  383   using Signature_mustQuote = QuotingType (*)(const T &, StringRef);
  393       (sizeof(test<TaggedScalarTraits<T>>(nullptr, nullptr, nullptr)) == 1);
  412   using Signature_mapping = void (*)(class IO &, T &);
  419   static bool const value = (sizeof(test<MappingTraits<T>>(nullptr)) == 1);
  438   using Signature_validate = StringRef (*)(class IO &, T &);
  445   static bool const value = (sizeof(test<MappingTraits<T>>(nullptr)) == 1);
  452   using Signature_size = size_t (*)(class IO&, T&);
  460   static bool const value =  (sizeof(test<SequenceTraits<T>>(nullptr)) == 1);
  467   using Signature_input = void (*)(IO &io, StringRef key, T &v);
  476       (sizeof(test<CustomMappingTraits<T>>(nullptr)) == 1);
  516   using Signature_size = size_t (*)(class IO &, T &);
  524   static bool const value = (sizeof(test<DocumentListTraits<T>>(nullptr))==1);
  528   using Signature_getKind = NodeKind (*)(const T &);
  535   static bool const value = (sizeof(test<PolymorphicTraits<T>>(nullptr)) == 1);
  793   void enumCase(T &Val, const char* Str, const T ConstVal) {
  793   void enumCase(T &Val, const char* Str, const T ConstVal) {
  801   void enumCase(T &Val, const char* Str, const uint32_t ConstVal) {
  808   void enumFallback(T &Val) {
  849   template <typename T> void mapRequired(const char *Key, T &Val) {
  941   void processKey(const char *Key, T &Val, bool Required, Context &Ctx) {
  968 typename std::enable_if<has_ScalarEnumerationTraits<T>::value, void>::type
  969 yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
  971   ScalarEnumerationTraits<T>::enumeration(io, Val);
include/llvm/Support/type_traits.h
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
lib/BinaryFormat/Dwarf.cpp
  116 unsigned llvm::dwarf::FormVersion(dwarf::Form Form) {
  127 unsigned llvm::dwarf::FormVendor(dwarf::Form Form) {
  645 Optional<uint8_t> llvm::dwarf::getFixedFormByteSize(dwarf::Form Form,
  732 bool llvm::dwarf::isValidFormForVersion(Form F, unsigned Version,
lib/CodeGen/AsmPrinter/AccelTable.cpp
  213     dwarf::Form Form;
  417     dwarf::Form Form = DIEInteger::BestForm(/*IsSigned*/ false, LargestCUIndex);
lib/CodeGen/AsmPrinter/DIE.cpp
  375 void DIEInteger::EmitValue(const AsmPrinter *Asm, dwarf::Form Form) const {
  430 unsigned DIEInteger::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  466 void DIEExpr::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  472 unsigned DIEExpr::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  488 void DIELabel::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  498 unsigned DIELabel::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  512 void DIEBaseTypeRef::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  518 unsigned DIEBaseTypeRef::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  531 void DIEDelta::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  537 unsigned DIEDelta::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  555 void DIEString::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  579 unsigned DIEString::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  606 void DIEInlineString::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  615 unsigned DIEInlineString::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  631 void DIEEntry::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
  662 unsigned DIEEntry::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  712 void DIELoc::EmitValue(const AsmPrinter *Asm, dwarf::Form Form) const {
  729 unsigned DIELoc::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  763 void DIEBlock::EmitValue(const AsmPrinter *Asm, dwarf::Form Form) const {
  780 unsigned DIEBlock::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  800 unsigned DIELocList::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const {
  810 void DIELocList::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
 1223   dwarf::Form Form = DD->getDwarfVersion() >= 4 ? dwarf::DW_FORM_sec_offset
 1255 void DwarfCompileUnit::addExpr(DIELoc &Die, dwarf::Form Form,
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  338   void addExpr(DIELoc &Die, dwarf::Form Form, const MCExpr *Expr);
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  233                         Optional<dwarf::Form> Form, uint64_t Integer) {
  241 void DwarfUnit::addUInt(DIEValueList &Block, dwarf::Form Form,
  247                         Optional<dwarf::Form> Form, int64_t Integer) {
  253 void DwarfUnit::addSInt(DIELoc &Die, Optional<dwarf::Form> Form,
  269   dwarf::Form IxForm =
  294                                                  dwarf::Form Form,
  299 void DwarfUnit::addLabel(DIELoc &Die, dwarf::Form Form, const MCSymbol *Label) {
lib/CodeGen/AsmPrinter/DwarfUnit.h
  137                Optional<dwarf::Form> Form, uint64_t Integer);
  139   void addUInt(DIEValueList &Block, dwarf::Form Form, uint64_t Integer);
  143                Optional<dwarf::Form> Form, int64_t Integer);
  145   void addSInt(DIELoc &Die, Optional<dwarf::Form> Form, int64_t Integer);
  158                                         dwarf::Form Form,
  161   void addLabel(DIELoc &Die, dwarf::Form Form, const MCSymbol *Label);
lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
   64     auto F = static_cast<Form>(Data.getULEB128(OffsetPtr));
lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
   74     auto AtomForm = static_cast<dwarf::Form>(AccelSection.getU16(&Offset));
lib/DebugInfo/DWARF/DWARFDebugLine.cpp
   37   dwarf::Form Form;
lib/DebugInfo/DWARF/DWARFDie.cpp
  267                           dwarf::Form Form, unsigned Indent,
lib/DebugInfo/DWARF/DWARFFormValue.cpp
   80 DWARFFormValue DWARFFormValue::createFromSValue(dwarf::Form F, int64_t V) {
   84 DWARFFormValue DWARFFormValue::createFromUValue(dwarf::Form F, uint64_t V) {
   88 DWARFFormValue DWARFFormValue::createFromPValue(dwarf::Form F, const char *V) {
   92 DWARFFormValue DWARFFormValue::createFromBlockValue(dwarf::Form F,
  100 DWARFFormValue DWARFFormValue::createFromUnit(dwarf::Form F, const DWARFUnit *U,
  108 bool DWARFFormValue::skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
lib/DebugInfo/DWARF/DWARFVerifier.cpp
  535   const auto Form = AttrValue.Value.getForm();
lib/ObjectYAML/DWARFVisitor.cpp
   62         dwarf::Form Form = AbbrForm->Form;
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
  855                  llvm::dwarf::Form form, llvm::DataExtractor infoData,
  907   llvm::dwarf::Form form;
tools/llvm-dwp/llvm-dwp.cpp
  120 getIndexedString(dwarf::Form Form, DataExtractor InfoData,
  163   dwarf::Form Form;
tools/obj2yaml/dwarf2yaml.cpp
  145           auto Form = FormValue.getValue().getForm();
unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
   22 bool isFormClass(dwarf::Form Form, DWARFFormValue::FormClass FC) {
   41 DWARFFormValue createDataXFormValue(dwarf::Form Form, RawTypeT Value) {
unittests/DebugInfo/DWARF/DwarfGenerator.cpp
   50 void dwarfgen::DIE::addAttribute(uint16_t A, dwarf::Form Form, uint64_t U) {
   56 void dwarfgen::DIE::addAttribute(uint16_t A, dwarf::Form Form, const MCExpr &Expr) {
   62 void dwarfgen::DIE::addAttribute(uint16_t A, dwarf::Form Form,
   94 void dwarfgen::DIE::addAttribute(uint16_t A, dwarf::Form Form,
  101 void dwarfgen::DIE::addAttribute(uint16_t A, dwarf::Form Form, const void *P,
  116 void dwarfgen::DIE::addAttribute(uint16_t A, dwarf::Form Form) {
unittests/DebugInfo/DWARF/DwarfGenerator.h
   81   void addAttribute(uint16_t Attr, dwarf::Form Form);
   89   void addAttribute(uint16_t Attr, dwarf::Form Form, uint64_t U);
   97   void addAttribute(uint16_t Attr, dwarf::Form Form, const MCExpr &Expr);
  106   void addAttribute(uint16_t Attr, dwarf::Form Form, StringRef String);
  118   void addAttribute(uint16_t Attr, dwarf::Form Form, dwarfgen::DIE &RefDie);
  131   void addAttribute(uint16_t Attr, dwarf::Form Form, const void *P, size_t S);
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
  136     inline _GLIBCXX17_CONSTEXPR _Tp*
  137     addressof(_Tp& __r) noexcept
  143     const _Tp* addressof(const _Tp&&) = delete;
  143     const _Tp* addressof(const _Tp&&) = delete;
usr/include/c++/7.4.0/bits/stl_pair.h
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  524     make_pair(_T1&& __x, _T2&& __y)
usr/include/c++/7.4.0/tuple
   56     struct __is_empty_non_tuple : is_empty<_Tp> { };
  125       constexpr _Head_base(const _Head& __h)
  132         constexpr _Head_base(_UHead&& __h)
  133 	: _M_head_impl(std::forward<_UHead>(__h)) { }
  159       static constexpr _Head&
  162       static constexpr const _Head&
  165       _Head _M_head_impl;
  344     : private _Head_base<_Idx, _Head>
  348       typedef _Head_base<_Idx, _Head> _Base;
  350       static constexpr _Head&
  353       static constexpr const _Head&
  360       constexpr _Tuple_impl(const _Head& __head)
  365         constexpr _Tuple_impl(_UHead&& __head)
  373       : _Base(std::forward<_Head>(_M_head(__in))) { }
  376         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
  380         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
  390 		    const _Head& __head)
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  497       return  __and_<__not_<is_same<tuple<_Elements...>,
  501                      __not_<is_convertible<_SrcTuple, _Elements...>>,
  502                      __not_<is_constructible<_Elements..., _SrcTuple>>
  508       return  __not_<is_same<tuple<_Elements...>,
  556     class tuple : public _Tuple_impl<0, _Elements...>
  558       typedef _Tuple_impl<0, _Elements...> _Inherited;
  598             _Elements...>;
  608         constexpr tuple(const _Elements&... __elements)
  619       explicit constexpr tuple(const _Elements&... __elements)
  628                       _Elements...>;
  636                       _Elements...>;
  646         constexpr tuple(_UElements&&... __elements)
  668             _Elements...>;
  730 	      const _Elements&... __elements)
  741                        const _Elements&... __elements)
  853         operator=(const tuple<_UElements...>& __in)
  863         operator=(tuple<_UElements...>&& __in)
 1288       typedef _Head type;
 1302     constexpr _Head&
 1303     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1307     constexpr const _Head&
 1308     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1309     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1314     get(tuple<_Elements...>& __t) noexcept
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1320     get(const tuple<_Elements...>& __t) noexcept
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1326     get(tuple<_Elements...>&& __t) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  825     : public __is_destructible_safe<_Tp>::type
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1215     : public __and_<is_constructible<_Tp, _Args...>,
 1216 		    __is_nt_constructible_impl<_Tp, _Args...>>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1252     : public __is_nothrow_move_constructible_impl<_Tp>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1377     static void __helper(const _Tp&);
 1380     static true_type __test(const _Tp&,
 1381                             decltype(__helper<const _Tp&>({}))* = 0);
 1390     typedef decltype(__test(declval<_Tp>())) type;
 1395       : public __is_implicitly_default_constructible_impl<_Tp>::type
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_Tp>>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2118       typedef typename remove_reference<_Tp>::type __remove_type;
 2131       typedef _Tp __type;
utils/unittest/googletest/include/gtest/gtest-printers.h
  223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
  276   static ::std::string Format(const ToPrint& value) {
  351     const T1& value, const T2& /* other_operand */) {
  351     const T1& value, const T2& /* other_operand */) {
  352   return FormatForComparison<T1, T2>::Format(value);
  352   return FormatForComparison<T1, T2>::Format(value);
  366 void UniversalPrint(const T& value, ::std::ostream* os);
  373                     const C& container, ::std::ostream* os) {
  439                     const T& value, ::std::ostream* os) {
  455 void PrintTo(const T& value, ::std::ostream* os) {
  478   DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
  699   static void Print(const T& value, ::std::ostream* os) {
  784   static void Print(const T& value, ::std::ostream* os) {
  856   typedef T T1;
  983   internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h
 1377                                    const T1& lhs, const T2& rhs) {
 1377                                    const T1& lhs, const T2& rhs) {
 1389                             const T1& lhs,
 1390                             const T2& rhs) {
 1419                                  const T1& lhs,
 1420                                  const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   37   return StreamSwitch<T>::printable(V);
   54   const T& V;
   55   friend std::ostream &operator<<(std::ostream &S, const RawStreamProxy<T> &V) {
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }
utils/unittest/googletest/include/gtest/internal/gtest-internal.h
   94 ::std::string PrintToString(const T& value);