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

References

include/llvm/ADT/ArrayRef.h
   43     using iterator = const T *;
   44     using const_iterator = const T *;
   50     const T *Data = nullptr;
   66     /*implicit*/ ArrayRef(const T &OneElt)
   70     /*implicit*/ ArrayRef(const T *data, size_t length)
   74     ArrayRef(const T *begin, const T *end)
   74     ArrayRef(const T *begin, const T *end)
   81     /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
   87     /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
   92     /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
   97     /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
  100     /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
  145     const T *data() const { return Data; }
  151     const T &front() const {
  157     const T &back() const {
  163     template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
  178     ArrayRef<T> slice(size_t N, size_t M) const {
  184     ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
  187     ArrayRef<T> drop_front(size_t N = 1) const {
  193     ArrayRef<T> drop_back(size_t N = 1) const {
  200     template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
  206     template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
  211     ArrayRef<T> take_front(size_t N = 1) const {
  218     ArrayRef<T> take_back(size_t N = 1) const {
  226     template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
  232     template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
  239     const T &operator[](size_t Index) const {
  249     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  257     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  263     std::vector<T> vec() const {
  270     operator std::vector<T>() const {
include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   43   KeyT &getFirst() { return std::pair<KeyT, ValueT>::first; }
   44   const KeyT &getFirst() const { return std::pair<KeyT, ValueT>::first; }
   65   using key_type = KeyT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
  145   size_type count(const_arg_type_t<KeyT> Val) const {
  150   iterator find(const_arg_type_t<KeyT> Val) {
  156   const_iterator find(const_arg_type_t<KeyT> Val) const {
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  210   std::pair<iterator, bool> try_emplace(KeyT &&Key, Ts &&... Args) {
  229   std::pair<iterator, bool> try_emplace(const KeyT &Key, Ts &&... Args) {
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  272   bool erase(const KeyT &Val) {
  291   value_type& FindAndConstruct(const KeyT &Key) {
  299   ValueT &operator[](const KeyT &Key) {
  303   value_type& FindAndConstruct(KeyT &&Key) {
  311   ValueT &operator[](KeyT &&Key) {
  334     const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
  349     const KeyT EmptyKey = getEmptyKey();
  351       ::new (&B->getFirst()) KeyT(EmptyKey);
  369     const KeyT EmptyKey = getEmptyKey();
  370     const KeyT TombstoneKey = getTombstoneKey();
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  414   static unsigned getHashValue(const KeyT &Val) {
  419   static unsigned getHashValue(const LookupKeyT &Val) {
  423   static const KeyT getEmptyKey() {
  429   static const KeyT getTombstoneKey() {
  437     if (shouldReverseIterate<KeyT>()) {
  515   BucketT *InsertIntoBucket(BucketT *TheBucket, KeyArg &&Key,
  525   BucketT *InsertIntoBucketWithLookup(BucketT *TheBucket, KeyT &&Key,
  535   BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
  535   BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
  566     const KeyT EmptyKey = getEmptyKey();
  578   bool LookupBucketFor(const LookupKeyT &Val,
  590     const KeyT EmptyKey = getEmptyKey();
  591     const KeyT TombstoneKey = getTombstoneKey();
  629   bool LookupBucketFor(const LookupKeyT &Val, BucketT *&FoundBucket) {
  684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
  685                                      KeyT, ValueT, KeyInfoT, BucketT> {
  690   using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
 1163   using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
 1186     if (shouldReverseIterate<KeyT>()) {
 1199       const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
 1210     if (shouldReverseIterate<KeyT>())
 1249     const KeyT Empty = KeyInfoT::getEmptyKey();
 1250     const KeyT Tombstone = KeyInfoT::getTombstoneKey();
 1259     const KeyT Empty = KeyInfoT::getEmptyKey();
 1260     const KeyT Tombstone = KeyInfoT::getTombstoneKey();
include/llvm/Support/type_traits.h
   65   using type = const T &;
tools/clang/include/clang/AST/ASTTypeTraits.h
   64   static ASTNodeKind getFromNodeKind() {
   65     return ASTNodeKind(KindToKindId<T>::Id);
   70   static ASTNodeKind getFromNode(const Decl &D);
   71   static ASTNodeKind getFromNode(const Stmt &S);
   72   static ASTNodeKind getFromNode(const Type &T);
   73   static ASTNodeKind getFromNode(const OMPClause &C);
   77   bool isSame(ASTNodeKind Other) const {
   87   bool isBaseOf(ASTNodeKind Other, unsigned *Distance = nullptr) const;
   93   bool operator<(const ASTNodeKind &Other) const {
  100   static ASTNodeKind getMostDerivedType(ASTNodeKind Kind1, ASTNodeKind Kind2);
  100   static ASTNodeKind getMostDerivedType(ASTNodeKind Kind1, ASTNodeKind Kind2);
  100   static ASTNodeKind getMostDerivedType(ASTNodeKind Kind1, ASTNodeKind Kind2);
  105   static ASTNodeKind getMostDerivedCommonAncestor(ASTNodeKind Kind1,
  105   static ASTNodeKind getMostDerivedCommonAncestor(ASTNodeKind Kind1,
  106                                                   ASTNodeKind Kind2);
  111     static inline ASTNodeKind getEmptyKey() { return ASTNodeKind(); }
  114     static inline ASTNodeKind getTombstoneKey() {
  117     static unsigned getHashValue(const ASTNodeKind &Val) { return Val.KindId; }
  118     static bool isEqual(const ASTNodeKind &LHS, const ASTNodeKind &RHS) {
  118     static bool isEqual(const ASTNodeKind &LHS, const ASTNodeKind &RHS) {
  213 inline raw_ostream &operator<<(raw_ostream &OS, ASTNodeKind K) {
  263   ASTNodeKind getNodeKind() const { return NodeKind; }
  296     if (ASTNodeKind::getFromNodeKind<QualType>().isSame(NodeKind))
  300     if (ASTNodeKind::getFromNodeKind<TypeLoc>().isSame(NodeKind)) {
  309     if (ASTNodeKind::getFromNodeKind<NestedNameSpecifierLoc>().isSame(
  329     if (ASTNodeKind::getFromNodeKind<QualType>().isSame(NodeKind))
  332     if (ASTNodeKind::getFromNodeKind<TypeLoc>().isSame(NodeKind))
  335     if (ASTNodeKind::getFromNodeKind<NestedNameSpecifierLoc>().isSame(NodeKind))
  351       Node.NodeKind = ASTNodeKind::DenseMapInfo::getEmptyKey();
  356       Node.NodeKind = ASTNodeKind::DenseMapInfo::getTombstoneKey();
  361       if (ASTNodeKind::getFromNodeKind<TypeLoc>().isSame(Val.NodeKind)) {
  367       if (ASTNodeKind::getFromNodeKind<NestedNameSpecifierLoc>().isSame(
  378       auto Empty = ASTNodeKind::DenseMapInfo::getEmptyKey();
  378       auto Empty = ASTNodeKind::DenseMapInfo::getEmptyKey();
  379       auto TombStone = ASTNodeKind::DenseMapInfo::getTombstoneKey();
  379       auto TombStone = ASTNodeKind::DenseMapInfo::getTombstoneKey();
  380       return (ASTNodeKind::DenseMapInfo::isEqual(LHS.NodeKind, Empty) &&
  381               ASTNodeKind::DenseMapInfo::isEqual(RHS.NodeKind, Empty)) ||
  382              (ASTNodeKind::DenseMapInfo::isEqual(LHS.NodeKind, TombStone) &&
  383               ASTNodeKind::DenseMapInfo::isEqual(RHS.NodeKind, TombStone)) ||
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  406       Result.NodeKind = ASTNodeKind::getFromNode(Node);
  414     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  415       if (ASTNodeKind::getFromNodeKind<T>().isSame(NodeKind))
  419     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  426       Result.NodeKind = ASTNodeKind::getFromNodeKind<T>();
  434     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  435       if (ASTNodeKind::getFromNodeKind<T>().isSame(NodeKind))
  439     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  445       Result.NodeKind = ASTNodeKind::getFromNodeKind<T>();
  451   ASTNodeKind NodeKind;
  520   static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  532     : clang::ast_type_traits::ASTNodeKind::DenseMapInfo {};
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  371                     ast_type_traits::ASTNodeKind SupportedKind,
  377   static DynTypedMatcher trueMatcher(ast_type_traits::ASTNodeKind NodeKind);
  384   bool canMatchNodesOfKind(ast_type_traits::ASTNodeKind Kind) const;
  388   DynTypedMatcher dynCastTo(const ast_type_traits::ASTNodeKind Kind) const;
  414   using MatcherIDType = std::pair<ast_type_traits::ASTNodeKind, uint64_t>;
  426   ast_type_traits::ASTNodeKind getSupportedKind() const {
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  438   bool canConvertTo(ast_type_traits::ASTNodeKind To) const;
  457  DynTypedMatcher(ast_type_traits::ASTNodeKind SupportedKind,
  458                  ast_type_traits::ASTNodeKind RestrictKind,
  464   ast_type_traits::ASTNodeKind SupportedKind;
  470   ast_type_traits::ASTNodeKind RestrictKind;
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  607   const ast_type_traits::ASTNodeKind SourceKind = getSupportedKind();
  609           ast_type_traits::ASTNodeKind::getFromNodeKind<Type>())) {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
   46   ArgKind(ast_type_traits::ASTNodeKind MatcherKind)
   50   ast_type_traits::ASTNodeKind getMatcherKind() const {
   74   ast_type_traits::ASTNodeKind MatcherKind;
   96     MatcherOps(ast_type_traits::ASTNodeKind NodeKind) : NodeKind(NodeKind) {}
  117     ast_type_traits::ASTNodeKind NodeKind;
  130     virtual bool isConvertibleTo(ast_type_traits::ASTNodeKind Kind,
  187   bool isConvertibleTo(ast_type_traits::ASTNodeKind Kind,
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
tools/clang/include/clang/Tooling/ASTDiff/ASTDiff.h
   44   ast_type_traits::ASTNodeKind getType() const;
tools/clang/lib/AST/ASTTypeTraits.cpp
   23 const ASTNodeKind::KindInfo ASTNodeKind::AllKindInfo[] = {
   46 bool ASTNodeKind::isBaseOf(ASTNodeKind Other, unsigned *Distance) const {
   65 ASTNodeKind ASTNodeKind::getMostDerivedType(ASTNodeKind Kind1,
   65 ASTNodeKind ASTNodeKind::getMostDerivedType(ASTNodeKind Kind1,
   66                                             ASTNodeKind Kind2) {
   72 ASTNodeKind ASTNodeKind::getMostDerivedCommonAncestor(ASTNodeKind Kind1,
   72 ASTNodeKind ASTNodeKind::getMostDerivedCommonAncestor(ASTNodeKind Kind1,
   73                                                       ASTNodeKind Kind2) {
   81 ASTNodeKind ASTNodeKind::getFromNode(const Decl &D) {
   91 ASTNodeKind ASTNodeKind::getFromNode(const Stmt &S) {
  102 ASTNodeKind ASTNodeKind::getFromNode(const Type &T) {
  112 ASTNodeKind ASTNodeKind::getFromNode(const OMPClause &C) {
tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  563     auto Kind = DynNode.getNodeKind();
  587   getFilterForKind(ast_type_traits::ASTNodeKind Kind) {
  809   llvm::DenseMap<ast_type_traits::ASTNodeKind, std::vector<unsigned short>>
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  143     ast_type_traits::ASTNodeKind SupportedKind,
  156   auto RestrictKind = SupportedKind;
  165       RestrictKind = ast_type_traits::ASTNodeKind::getMostDerivedType(
  193     ast_type_traits::ASTNodeKind NodeKind) {
  198     ast_type_traits::ASTNodeKind Kind) const {
  203     const ast_type_traits::ASTNodeKind Kind) const {
  207       ast_type_traits::ASTNodeKind::getMostDerivedType(Kind, RestrictKind);
  247 bool DynTypedMatcher::canConvertTo(ast_type_traits::ASTNodeKind To) const {
  248   const auto From = getSupportedKind();
  249   auto QualKind = ast_type_traits::ASTNodeKind::getFromNodeKind<QualType>();
  249   auto QualKind = ast_type_traits::ASTNodeKind::getFromNodeKind<QualType>();
  250   auto TypeKind = ast_type_traits::ASTNodeKind::getFromNodeKind<Type>();
  250   auto TypeKind = ast_type_traits::ASTNodeKind::getFromNodeKind<Type>();
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  214   virtual void getArgKinds(ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo,
  225       ast_type_traits::ASTNodeKind Kind, unsigned *Specificity = nullptr,
  226       ast_type_traits::ASTNodeKind *LeastDerivedKind = nullptr) const = 0;
  234     ArrayRef<ast_type_traits::ASTNodeKind> RetKinds,
  235     ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
  236     ast_type_traits::ASTNodeKind *LeastDerivedKind) {
  237   for (const ast_type_traits::ASTNodeKind &NodeKind : RetKinds) {
  269       ArrayRef<ast_type_traits::ASTNodeKind> RetKinds,
  284   void getArgKinds(ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo,
  290       ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
  291       ast_type_traits::ASTNodeKind *LeastDerivedKind) const override {
  300   const std::vector<ast_type_traits::ASTNodeKind> RetKinds;
  340     std::vector<ast_type_traits::ASTNodeKind> &RetTypes) {
  342       ast_type_traits::ASTNodeKind::getFromNodeKind<typename T::head>());
  349     std::vector<ast_type_traits::ASTNodeKind> &RetTypes) {}
  353   static void build(std::vector<ast_type_traits::ASTNodeKind> &RetTypes) {
  360   static void build(std::vector<ast_type_traits::ASTNodeKind> &RetTypes) {
  361     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  367   static void build(std::vector<ast_type_traits::ASTNodeKind> &RetTypes) {
  368     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  442   void getArgKinds(ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo,
  448       ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
  449       ast_type_traits::ASTNodeKind *LeastDerivedKind) const override {
  457   std::vector<ast_type_traits::ASTNodeKind> RetKinds;
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  473   isConvertibleTo(ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
  474                 ast_type_traits::ASTNodeKind *LeastDerivedKind) const override {
  492   const ast_type_traits::ASTNodeKind DerivedKind;
  638   void getArgKinds(ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo,
  647       ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
  648       ast_type_traits::ASTNodeKind *LeastDerivedKind) const override {
  700   void getArgKinds(ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo,
  705   bool isConvertibleTo(ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
  706                        ast_type_traits::ASTNodeKind *LeastDerivedKind) const override {
  730   std::vector<ast_type_traits::ASTNodeKind> RetTypes;
  741   std::vector<ast_type_traits::ASTNodeKind> RetTypes;
  754   std::vector<ast_type_traits::ASTNodeKind> RetTypes;
tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  541                                      const std::set<ASTNodeKind> &KS) {
  543   for (std::set<ASTNodeKind>::const_iterator I = KS.begin(), E = KS.end();
  558   ASTNodeKind InitialTypes[] = {
  559       ASTNodeKind::getFromNodeKind<Decl>(),
  560       ASTNodeKind::getFromNodeKind<QualType>(),
  561       ASTNodeKind::getFromNodeKind<Type>(),
  562       ASTNodeKind::getFromNodeKind<Stmt>(),
  563       ASTNodeKind::getFromNodeKind<NestedNameSpecifier>(),
  564       ASTNodeKind::getFromNodeKind<NestedNameSpecifierLoc>(),
  565       ASTNodeKind::getFromNodeKind<TypeLoc>()};
  595     std::set<ASTNodeKind> RetKinds;
  604       ASTNodeKind LeastDerivedKind;
  630           std::set<ASTNodeKind> MatcherKinds;
tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
  104   bool isConvertibleTo(ast_type_traits::ASTNodeKind Kind,
  162   bool isConvertibleTo(ast_type_traits::ASTNodeKind Kind,
  205   bool isConvertibleTo(ast_type_traits::ASTNodeKind Kind,
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  686 ast_type_traits::ASTNodeKind Node::getType() const {
tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
  469     if (ast_type_traits::ASTNodeKind::getFromNodeKind<Decl>().isBaseOf(
tools/clang/lib/Tooling/Transformer/RangeSelector.cpp
   37 static Error typeError(StringRef ID, const ASTNodeKind &Kind) {
   42 static Error typeError(StringRef ID, const ASTNodeKind &Kind,
tools/clang/lib/Tooling/Transformer/RewriteRule.cpp
  119   std::map<ASTNodeKind, SmallVector<std::pair<size_t, RewriteRule::Case>, 1>>
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp
   24 template <typename T> static ASTNodeKind DNT() {
   25   return ASTNodeKind::getFromNodeKind<T>();
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  475 	{ __a.construct(__p, std::forward<_Args>(__args)...); }
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
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
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
usr/include/c++/7.4.0/bits/ptr_traits.h
  126       typedef _Tp* pointer;
  128       typedef _Tp  element_type;
  141       pointer_to(__make_not_void<element_type>& __r) noexcept
  141       pointer_to(__make_not_void<element_type>& __r) noexcept
usr/include/c++/7.4.0/bits/range_access.h
   86     inline _GLIBCXX14_CONSTEXPR _Tp*
   87     begin(_Tp (&__arr)[_Nm])
   96     inline _GLIBCXX14_CONSTEXPR _Tp*
   97     end(_Tp (&__arr)[_Nm])
usr/include/c++/7.4.0/bits/stl_construct.h
   74     _Construct(_T1* __p, _Args&&... __args)
   74     _Construct(_T1* __p, _Args&&... __args)
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
  111       typedef _Result 	result_type;  
  121       typedef _Arg1 	first_argument_type; 
  124       typedef _Arg2 	second_argument_type;
  381     struct less : public binary_function<_Tp, _Tp, bool>
  381     struct less : public binary_function<_Tp, _Tp, bool>
  385       operator()(const _Tp& __x, const _Tp& __y) const
  385       operator()(const _Tp& __x, const _Tp& __y) const
  870     : public unary_function<_Tp,_Tp>
  870     : public unary_function<_Tp,_Tp>
  872       _Tp&
  873       operator()(_Tp& __x) const
  876       const _Tp&
  877       operator()(const _Tp& __x) const
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
usr/include/c++/7.4.0/bits/stl_map.h
  102       typedef _Key					key_type;
  104       typedef std::pair<const _Key, _Tp>		value_type;
usr/include/c++/7.4.0/bits/stl_pair.h
  100 	return __and_<is_constructible<_T1, const _U1&>,
  100 	return __and_<is_constructible<_T1, const _U1&>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  209     : private __pair_base<_T1, _T2>
  211       typedef _T1 first_type;    /// @c first_type is the first bound type
  214       _T1 first;                 /// @c first is a copy of the first 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)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  332        explicit pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  379 		__and_<is_copy_assignable<_T1>,
  390 		__and_<is_move_assignable<_T1>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  405 	operator=(const pair<_U1, _U2>& __p)
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  416 	operator=(pair<_U1, _U2>&& __p)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  524     make_pair(_T1&& __x, _T2&& __y)
usr/include/c++/7.4.0/bits/stl_set.h
  110       typedef _Key     key_type;
  111       typedef _Key     value_type;
  119 	rebind<_Key>::other _Key_alloc_type;
usr/include/c++/7.4.0/bits/stl_tree.h
  218       typedef _Rb_tree_node<_Val>* _Link_type;
  231       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
  233       _Val*
  237       const _Val*
  258       typedef _Tp  value_type;
  259       typedef _Tp& reference;
  260       typedef _Tp* pointer;
  265       typedef _Rb_tree_iterator<_Tp>        _Self;
  267       typedef _Rb_tree_node<_Tp>*           _Link_type;
  328       typedef _Tp        value_type;
  329       typedef const _Tp& reference;
  330       typedef const _Tp* pointer;
  332       typedef _Rb_tree_iterator<_Tp> iterator;
  337       typedef _Rb_tree_const_iterator<_Tp>        _Self;
  339       typedef const _Rb_tree_node<_Tp>*           _Link_type;
  447         rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
  454       typedef _Rb_tree_node<_Val>* 		_Link_type;
  455       typedef const _Rb_tree_node<_Val>*	_Const_Link_type;
  554 	  operator()(_Arg&& __arg) const
  563       typedef _Key 				key_type;
  564       typedef _Val 				value_type;
  621 	_M_construct_node(_Link_type __node, _Args&&... __args)
  625 	      ::new(__node) _Rb_tree_node<_Val>;
  628 				       std::forward<_Args>(__args)...);
  640         _M_create_node(_Args&&... __args)
  643 	  _M_construct_node(__tmp, std::forward<_Args>(__args)...);
  758       static const _Key&
  782       static const _Key&
  834 	_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
  894 		     const _Key& __k);
  898 		     const _Key& __k) const;
  902 		     const _Key& __k);
  906 		     const _Key& __k) const;
 1011         _M_insert_unique(_Arg&& __x);
 1019 	_M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
  962 	emplace_back(_Args&&... __args);
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
 1561 	_Up*
 1562 	_M_data_ptr(_Up* __ptr) const _GLIBCXX_NOEXCEPT
usr/include/c++/7.4.0/bits/vector.tcc
  101 				     std::forward<_Args>(__args)...);
  105 	  _M_realloc_insert(end(), std::forward<_Args>(__args)...);
  418 				   std::forward<_Args>(__args)...);
usr/include/c++/7.4.0/ext/aligned_buffer.h
   52       struct _Tp2 { _Tp _M_t; };
   54       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
   69       _Tp*
   73       const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
   84 	new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list
   50       typedef _E 		value_type;
   51       typedef const _E& 	reference;
   52       typedef const _E& 	const_reference;
   54       typedef const _E* 	iterator;
   55       typedef const _E* 	const_iterator;
usr/include/c++/7.4.0/tuple
  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&
  350       static constexpr _Head&
  353       static constexpr const _Head&
  360       constexpr _Tuple_impl(const _Head& __head)
  365         constexpr _Tuple_impl(_UHead&& __head)
  366 	: _Base(std::forward<_UHead>(__head)) { }
  390 		    const _Head& __head)
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  510 			       typename remove_reference<_UElements...>::type
  608         constexpr tuple(const _Elements&... __elements)
  619       explicit constexpr tuple(const _Elements&... __elements)
  646         constexpr tuple(_UElements&&... __elements)
  647         : _Inherited(std::forward<_UElements>(__elements)...) { }
  730 	      const _Elements&... __elements)
  741                        const _Elements&... __elements)
 1302     constexpr _Head&
 1307     constexpr const _Head&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1458     constexpr tuple<_Elements&&...>
 1459     forward_as_tuple(_Elements&&... __args) noexcept
 1460     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
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
  567     : public __is_null_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
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::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>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  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
 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>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_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;
 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; };
 1637     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 2131       typedef _Tp __type;
 2171     { typedef _Iffalse type; };