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

Declarations

include/llvm/Support/JSON.h
   85 class Value;

References

include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   45   ValueT &getSecond() { return std::pair<KeyT, ValueT>::second; }
   46   const ValueT &getSecond() const { return std::pair<KeyT, ValueT>::second; }
   66   using mapped_type = ValueT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
  123         is_trivially_copyable<ValueT>::value) {
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  219         InsertIntoBucket(TheBucket, std::move(Key), std::forward<Ts>(Args)...);
  299   ValueT &operator[](const KeyT &Key) {
  311   ValueT &operator[](KeyT &&Key) {
  380         ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  400         is_trivially_copyable<ValueT>::value)
  410               ValueT(other.getBuckets()[i].getSecond());
  516                             ValueArgs &&... Values) {
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  526                                       ValueT &&Value, LookupKeyT &Lookup) {
  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>;
 1199       const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
include/llvm/ADT/Optional.h
   39     T value;
   72   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
   76   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
   81   T &&getValue() && noexcept {
  106       ::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) && {
include/llvm/Support/AlignOf.h
   30   T t;
   39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
   50       llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/Error.h
  437   static const bool isRef = std::is_reference<T>::value;
  439   using wrap = std::reference_wrapper<typename std::remove_reference<T>::type>;
  444   using storage_type = typename std::conditional<isRef, wrap, T>::type;
  445   using value_type = T;
  448   using reference = typename std::remove_reference<T>::type &;
  449   using const_reference = const typename std::remove_reference<T>::type &;
  450   using pointer = typename std::remove_reference<T>::type *;
  451   using const_pointer = const typename std::remove_reference<T>::type *;
  474   Expected(OtherT &&Val,
  475            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  475            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  483     new (getStorage()) storage_type(std::forward<OtherT>(Val));
  492   Expected(Expected<OtherT> &&Other,
  493            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  493            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  594   template <class OtherT> void moveConstruct(Expected<OtherT> &&Other) {
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/JSON.h
   86 template <typename T> Value toJSON(const llvm::Optional<T> &Opt);
   91   using Storage = DenseMap<ObjectKey, Value, llvm::DenseMapInfo<StringRef>>;
   96   using mapped_type = Value;
  123     return M.try_emplace(std::move(K), std::forward<Ts>(Args)...);
  129   Value &operator[](const ObjectKey &K);
  130   Value &operator[](ObjectKey &&K);
  132   Value *get(StringRef K);
  133   const Value *get(StringRef K) const;
  155   std::vector<Value> V;
  158   using value_type = Value;
  159   using iterator = std::vector<Value>::iterator;
  160   using const_iterator = std::vector<Value>::const_iterator;
  163   explicit Array(std::initializer_list<Value> Elements);
  169   Value &operator[](size_t I) { return V[I]; }
  170   const Value &operator[](size_t I) const { return V[I]; }
  171   Value &front() { return V.front(); }
  172   const Value &front() const { return V.front(); }
  173   Value &back() { return V.back(); }
  174   const Value &back() const { return V.back(); }
  175   Value *data() { return V.data(); }
  176   const Value *data() const { return V.data(); }
  188   void push_back(const Value &E) { V.push_back(E); }
  189   void push_back(Value &&E) { V.push_back(std::move(E)); }
  190   template <typename... Args> void emplace_back(Args &&... A) {
  191     V.emplace_back(std::forward<Args>(A)...);
  195   iterator insert(iterator P, const Value &E) { return V.insert(P, E); }
  196   iterator insert(iterator P, Value &&E) {
  294   Value(const Value &M) { copyFrom(M); }
  295   Value(Value &&M) { moveFrom(std::move(M)); }
  296   Value(std::initializer_list<Value> Elements);
  360   Value &operator=(const Value &M) {
  360   Value &operator=(const Value &M) {
  365   Value &operator=(Value &&M) {
  365   Value &operator=(Value &&M) {
  445   void copyFrom(const Value &M);
  449   void moveFrom(const Value &&M);
  480   friend bool operator==(const Value &, const Value &);
  480   friend bool operator==(const Value &, const Value &);
  483 bool operator==(const Value &, const Value &);
  483 bool operator==(const Value &, const Value &);
  484 inline bool operator!=(const Value &L, const Value &R) { return !(L == R); }
  484 inline bool operator!=(const Value &L, const Value &R) { return !(L == R); }
  545   Value V;
  561 inline bool fromJSON(const Value &E, std::string &Out) {
  568 inline bool fromJSON(const Value &E, int &Out) {
  575 inline bool fromJSON(const Value &E, int64_t &Out) {
  582 inline bool fromJSON(const Value &E, double &Out) {
  589 inline bool fromJSON(const Value &E, bool &Out) {
  596 template <typename T> bool fromJSON(const Value &E, llvm::Optional<T> &Out) {
  607 template <typename T> bool fromJSON(const Value &E, std::vector<T> &Out) {
  619 bool fromJSON(const Value &E, std::map<std::string, T> &Out) {
  631 template <typename T> Value toJSON(const llvm::Optional<T> &Opt) {
  632   return Opt ? Value(*Opt) : Value(nullptr);
  649   ObjectMapper(const Value &E) : O(E.getAsObject()) {}
  658     if (const Value *E = O->get(Prop))
  667     if (const Value *E = O->get(Prop))
  680 llvm::Expected<Value> parse(llvm::StringRef JSON);
  773   void value(const Value &V);
  791   void attribute(llvm::StringRef Key, const Value& Contents) {
  841 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Value &V) {
  851   static void format(const llvm::json::Value &, raw_ostream &, StringRef);
include/llvm/Support/ScopedPrinter.h
   61 template <class T> const std::string to_string(const T &Value) {
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/Support/JSON.cpp
   17 Value &Object::operator[](const ObjectKey &K) {
   20 Value &Object::operator[](ObjectKey &&K) {
   23 Value *Object::get(StringRef K) {
   29 const Value *Object::get(StringRef K) const {
   66   if (auto *V = get(K))
   76   if (auto *V = get(K))
   91 Array::Array(std::initializer_list<Value> Elements) {
   93   for (const Value &V : Elements) {
   99 Value::Value(std::initializer_list<Value> Elements)
  102 void Value::copyFrom(const Value &M) {
  126 void Value::moveFrom(const Value &&M) {
  175 bool operator==(const Value &L, const Value &R) {
  175 bool operator==(const Value &L, const Value &R) {
  179   case Value::Null:
  181   case Value::Boolean:
  183   case Value::Number:
  188     if (L.Type == Value::T_Integer || R.Type == Value::T_Integer)
  188     if (L.Type == Value::T_Integer || R.Type == Value::T_Integer)
  191   case Value::String:
  193   case Value::Array:
  195   case Value::Object:
  216   bool parseValue(Value &Out);
  237   bool parseNumber(char First, Value &Out);
  254 bool Parser::parseValue(Value &Out) {
  343 bool Parser::parseNumber(char First, Value &Out) {
  510 Expected<Value> parse(StringRef JSON) {
  512   Value E = nullptr;
  593 void llvm::json::OStream::value(const Value &V) {
  595   case Value::Null:
  599   case Value::Boolean:
  603   case Value::Number:
  605     if (V.Type == Value::T_Integer)
  611   case Value::String:
  615   case Value::Array:
  617       for (const Value &E : *V.getAsArray())
  620   case Value::Object:
  712     const llvm::json::Value &E, raw_ostream &OS, StringRef Options) {
lib/TableGen/JSONBackend.cpp
   31   json::Value translateInit(const Init &I);
   44 json::Value JSONEmitter::translateInit(const Init &I) {
tools/clang/lib/Driver/DarwinSDKInfo.cpp
   28   Expected<llvm::json::Value> Result =
tools/clang/tools/extra/clangd/ClangdLSPServer.cpp
  163   bool onNotify(llvm::StringRef Method, llvm::json::Value Params) override {
  179   bool onCall(llvm::StringRef Method, llvm::json::Value Params,
  180               llvm::json::Value ID) override {
  200   bool onReply(llvm::json::Value ID,
  201                llvm::Expected<llvm::json::Value> Result) override {
  204     Callback<llvm::json::Value> ReplyHandler = nullptr;
  259   llvm::json::Value bindReply(Callback<llvm::json::Value> Reply) {
  259   llvm::json::Value bindReply(Callback<llvm::json::Value> Reply) {
  260     llvm::Optional<std::pair<int, Callback<llvm::json::Value>>> OldestCB;
  311     llvm::json::Value ID;
  317     ReplyOnce(const llvm::json::Value &ID, llvm::StringRef Method,
  348     void operator()(llvm::Expected<llvm::json::Value> Reply) {
  373   llvm::StringMap<std::function<void(llvm::json::Value)>> Notifications;
  374   llvm::StringMap<std::function<void(llvm::json::Value, ReplyOnce)>> Calls;
  382   void onCancel(const llvm::json::Value &Params) {
  383     const llvm::json::Value *ID = nullptr;
  407   Context cancelableRequestContext(const llvm::json::Value &ID) {
  436                        /*ReplyHandler*/ Callback<llvm::json::Value>>>
  444 void ClangdLSPServer::callRaw(StringRef Method, llvm::json::Value Params,
  445                               Callback<llvm::json::Value> CB) {
  446   auto ID = MsgHandler->bindReply(std::move(CB));
  452 void ClangdLSPServer::notify(llvm::StringRef Method, llvm::json::Value Params) {
  459                                    Callback<llvm::json::Value> Reply) {
  525   llvm::json::Value RenameProvider =
  533   llvm::json::Value CodeActionProvider = true;
  646                                 Callback<llvm::json::Value> Reply) {
  871                                        Callback<llvm::json::Value> Reply) {
  906                                    Callback<llvm::json::Value> Reply) {
tools/clang/tools/extra/clangd/ClangdLSPServer.h
   66   void onInitialize(const InitializeParams &, Callback<llvm::json::Value>);
   82                         Callback<llvm::json::Value>);
   83   void onCodeAction(const CodeActionParams &, Callback<llvm::json::Value>);
   97   void onCommand(const ExecuteCommandParams &, Callback<llvm::json::Value>);
  165   void call(StringRef Method, llvm::json::Value Params, Callback<Response> CB) {
  183   void callRaw(StringRef Method, llvm::json::Value Params,
  184                Callback<llvm::json::Value> CB);
  185   void notify(StringRef Method, llvm::json::Value Params);
tools/clang/tools/extra/clangd/JSONTransport.cpp
   49   void notify(llvm::StringRef Method, llvm::json::Value Params) override {
   56   void call(llvm::StringRef Method, llvm::json::Value Params,
   57             llvm::json::Value ID) override {
   65   void reply(llvm::json::Value ID,
   66              llvm::Expected<llvm::json::Value> Result) override {
  104   bool handleMessage(llvm::json::Value Message, MessageHandler &Handler);
  106   void sendMessage(llvm::json::Value Message) {
  131 bool JSONTransport::handleMessage(llvm::json::Value Message,
  141   llvm::Optional<llvm::json::Value> ID;
  142   if (auto *I = Object->get("id"))
  153     llvm::json::Value Result = nullptr;
  154     if (auto *R = Object->get("result"))
  159   llvm::json::Value Params = nullptr;
  160   if (auto *P = Object->get("params"))
tools/clang/tools/extra/clangd/Logger.h
   40 template <typename T> T &&wrap(T &&V) { return std::forward<T>(V); }
   40 template <typename T> T &&wrap(T &&V) { return std::forward<T>(V); }
   40 template <typename T> T &&wrap(T &&V) { return std::forward<T>(V); }
   45 void log(Logger::Level L, const char *Fmt, Ts &&... Vals) {
   46   detail::log(L, llvm::formatv(Fmt, detail::wrap(std::forward<Ts>(Vals))...));
   56 template <typename... Ts> void elog(const char *Fmt, Ts &&... Vals) {
   62 template <typename... Ts> void log(const char *Fmt, Ts &&... Vals) {
   67 template <typename... Ts> void vlog(const char *Fmt, Ts &&... Vals) {
   68   detail::log(Logger::Verbose, Fmt, std::forward<Ts>(Vals)...);
tools/clang/tools/extra/clangd/Protocol.cpp
   53 bool fromJSON(const llvm::json::Value &E, URIForFile &R) {
   77 llvm::json::Value toJSON(const URIForFile &U) { return U.uri(); }
   83 llvm::json::Value toJSON(const TextDocumentIdentifier &R) {
   87 bool fromJSON(const llvm::json::Value &Params, TextDocumentIdentifier &R) {
   92 bool fromJSON(const llvm::json::Value &Params, Position &R) {
   97 llvm::json::Value toJSON(const Position &P) {
  108 bool fromJSON(const llvm::json::Value &Params, Range &R) {
  113 llvm::json::Value toJSON(const Range &P) {
  124 llvm::json::Value toJSON(const Location &P) {
  135 bool fromJSON(const llvm::json::Value &Params, TextDocumentItem &R) {
  141 bool fromJSON(const llvm::json::Value &Params, TextEdit &R) {
  146 llvm::json::Value toJSON(const TextEdit &P) {
  159 bool fromJSON(const llvm::json::Value &E, TraceLevel &Out) {
  175 bool fromJSON(const llvm::json::Value &E, SymbolKind &Out) {
  186 bool fromJSON(const llvm::json::Value &E, SymbolKindBitset &Out) {
  271 bool fromJSON(const llvm::json::Value &Params, ClientCapabilities &R) {
  316         for (const auto &Format : *ContentFormat) {
  358 bool fromJSON(const llvm::json::Value &Params, InitializeParams &R) {
  373 llvm::json::Value toJSON(const MessageType &R) {
  377 llvm::json::Value toJSON(const ShowMessageParams &R) {
  381 bool fromJSON(const llvm::json::Value &Params, DidOpenTextDocumentParams &R) {
  386 bool fromJSON(const llvm::json::Value &Params, DidCloseTextDocumentParams &R) {
  391 bool fromJSON(const llvm::json::Value &Params, DidChangeTextDocumentParams &R) {
  398 bool fromJSON(const llvm::json::Value &E, FileChangeType &Out) {
  409 bool fromJSON(const llvm::json::Value &Params, FileEvent &R) {
  414 bool fromJSON(const llvm::json::Value &Params, DidChangeWatchedFilesParams &R) {
  419 bool fromJSON(const llvm::json::Value &Params,
  426 bool fromJSON(const llvm::json::Value &Params,
  432 bool fromJSON(const llvm::json::Value &Params,
  439 bool fromJSON(const llvm::json::Value &Params, DocumentFormattingParams &R) {
  444 bool fromJSON(const llvm::json::Value &Params, DocumentSymbolParams &R) {
  449 llvm::json::Value toJSON(const DiagnosticRelatedInformation &DRI) {
  456 llvm::json::Value toJSON(const Diagnostic &D) {
  475 bool fromJSON(const llvm::json::Value &Params, Diagnostic &R) {
  486 bool fromJSON(const llvm::json::Value &Params, CodeActionContext &R) {
  513 bool fromJSON(const llvm::json::Value &Params, CodeActionParams &R) {
  519 bool fromJSON(const llvm::json::Value &Params, WorkspaceEdit &R) {
  529 bool fromJSON(const llvm::json::Value &Params, ExecuteCommandParams &R) {
  544 llvm::json::Value toJSON(const SymbolInformation &P) {
  564 llvm::json::Value toJSON(const SymbolDetails &P) {
  598 bool fromJSON(const llvm::json::Value &Params, WorkspaceSymbolParams &R) {
  603 llvm::json::Value toJSON(const Command &C) {
  616 llvm::json::Value toJSON(const CodeAction &CA) {
  633 llvm::json::Value toJSON(const DocumentSymbol &S) {
  649 llvm::json::Value toJSON(const WorkspaceEdit &WE) {
  658 bool fromJSON(const llvm::json::Value &Params, TweakArgs &A) {
  664 llvm::json::Value toJSON(const TweakArgs &A) {
  669 llvm::json::Value toJSON(const ApplyWorkspaceEditParams &Params) {
  673 bool fromJSON(const llvm::json::Value &Response,
  682 bool fromJSON(const llvm::json::Value &Params, TextDocumentPositionParams &R) {
  688 bool fromJSON(const llvm::json::Value &Params, CompletionContext &R) {
  703 bool fromJSON(const llvm::json::Value &Params, CompletionParams &R) {
  721 bool fromJSON(const llvm::json::Value &V, MarkupKind &K) {
  742 llvm::json::Value toJSON(const MarkupContent &MC) {
  752 llvm::json::Value toJSON(const Hover &H) {
  761 bool fromJSON(const llvm::json::Value &E, CompletionItemKind &Out) {
  794 bool fromJSON(const llvm::json::Value &E, CompletionItemKindBitset &Out) {
  806 llvm::json::Value toJSON(const CompletionItem &CI) {
  842 llvm::json::Value toJSON(const CompletionList &L) {
  849 llvm::json::Value toJSON(const ParameterInformation &PI) {
  863 llvm::json::Value toJSON(const SignatureInformation &SI) {
  880 llvm::json::Value toJSON(const SignatureHelp &SH) {
  892 bool fromJSON(const llvm::json::Value &Params, RenameParams &R) {
  898 llvm::json::Value toJSON(const DocumentHighlight &DH) {
  905 llvm::json::Value toJSON(const FileStatus &FStatus) {
  922 bool fromJSON(const llvm::json::Value &Params,
  928 bool fromJSON(const llvm::json::Value &Params,
  935 bool fromJSON(const llvm::json::Value &Params, ConfigurationSettings &S) {
  943 bool fromJSON(const llvm::json::Value &Params, InitializationOptions &Opts) {
  955 bool fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out) {
  966 bool fromJSON(const llvm::json::Value &Params, TypeHierarchyParams &R) {
  978 llvm::json::Value toJSON(const TypeHierarchyItem &I) {
  998 bool fromJSON(const llvm::json::Value &Params, TypeHierarchyItem &I) {
 1018 bool fromJSON(const llvm::json::Value &Params,
 1025 bool fromJSON(const llvm::json::Value &Params, ReferenceParams &R) {
 1043 llvm::json::Value toJSON(const OffsetEncoding &OE) { return toString(OE); }
 1044 bool fromJSON(const llvm::json::Value &V, OffsetEncoding &OE) {
 1064 llvm::json::Value toJSON(const SemanticHighlightingInformation &Highlighting) {
 1069 llvm::json::Value toJSON(const SemanticHighlightingParams &Highlighting) {
 1076 bool fromJSON(const llvm::json::Value &Params, SelectionRangeParams &P) {
 1082 llvm::json::Value toJSON(const SelectionRange &Out) {
tools/clang/tools/extra/clangd/Protocol.h
  117 llvm::json::Value toJSON(const URIForFile &U);
  118 bool fromJSON(const llvm::json::Value &, URIForFile &);
  124 llvm::json::Value toJSON(const TextDocumentIdentifier &);
  125 bool fromJSON(const llvm::json::Value &, TextDocumentIdentifier &);
  152 bool fromJSON(const llvm::json::Value &, Position &);
  153 llvm::json::Value toJSON(const Position &);
  178 bool fromJSON(const llvm::json::Value &, Range &);
  179 llvm::json::Value toJSON(const Range &);
  199 llvm::json::Value toJSON(const Location &);
  214 bool fromJSON(const llvm::json::Value &, TextEdit &);
  215 llvm::json::Value toJSON(const TextEdit &);
  231 bool fromJSON(const llvm::json::Value &, TextDocumentItem &);
  238 bool fromJSON(const llvm::json::Value &E, TraceLevel &Out);
  241 inline bool fromJSON(const llvm::json::Value &, NoParams &) { return true; }
  288 bool fromJSON(const llvm::json::Value &, CompletionItemKind &);
  294 bool fromJSON(const llvm::json::Value &, CompletionItemKindBitset &);
  328 bool fromJSON(const llvm::json::Value &, SymbolKind &);
  332 bool fromJSON(const llvm::json::Value &, SymbolKindBitset &);
  353 llvm::json::Value toJSON(const OffsetEncoding &);
  354 bool fromJSON(const llvm::json::Value &, OffsetEncoding &);
  363 bool fromJSON(const llvm::json::Value &, MarkupKind &);
  431 bool fromJSON(const llvm::json::Value &, ClientCapabilities &);
  440 bool fromJSON(const llvm::json::Value &, ClangdCompileCommand &);
  450 bool fromJSON(const llvm::json::Value &, ConfigurationSettings &);
  468 bool fromJSON(const llvm::json::Value &, InitializationOptions &);
  500 bool fromJSON(const llvm::json::Value &, InitializeParams &);
  512 llvm::json::Value toJSON(const MessageType &);
  522 llvm::json::Value toJSON(const ShowMessageParams &);
  528 bool fromJSON(const llvm::json::Value &, DidOpenTextDocumentParams &);
  534 bool fromJSON(const llvm::json::Value &, DidCloseTextDocumentParams &);
  546 bool fromJSON(const llvm::json::Value &, TextDocumentContentChangeEvent &);
  563 bool fromJSON(const llvm::json::Value &, DidChangeTextDocumentParams &);
  573 bool fromJSON(const llvm::json::Value &E, FileChangeType &Out);
  581 bool fromJSON(const llvm::json::Value &, FileEvent &);
  587 bool fromJSON(const llvm::json::Value &, DidChangeWatchedFilesParams &);
  592 bool fromJSON(const llvm::json::Value &, DidChangeConfigurationParams &);
  609 bool fromJSON(const llvm::json::Value &, DocumentRangeFormattingParams &);
  621 bool fromJSON(const llvm::json::Value &, DocumentOnTypeFormattingParams &);
  627 bool fromJSON(const llvm::json::Value &, DocumentFormattingParams &);
  633 bool fromJSON(const llvm::json::Value &, DocumentSymbolParams &);
  644 llvm::json::Value toJSON(const DiagnosticRelatedInformation &);
  680 llvm::json::Value toJSON(const Diagnostic &);
  692 bool fromJSON(const llvm::json::Value &, Diagnostic &);
  699 bool fromJSON(const llvm::json::Value &, CodeActionContext &);
  711 bool fromJSON(const llvm::json::Value &, CodeActionParams &);
  720 bool fromJSON(const llvm::json::Value &, WorkspaceEdit &);
  721 llvm::json::Value toJSON(const WorkspaceEdit &WE);
  735 bool fromJSON(const llvm::json::Value &, TweakArgs &);
  736 llvm::json::Value toJSON(const TweakArgs &A);
  759 bool fromJSON(const llvm::json::Value &, ExecuteCommandParams &);
  764 llvm::json::Value toJSON(const Command &C);
  792 llvm::json::Value toJSON(const CodeAction &);
  825 llvm::json::Value toJSON(const DocumentSymbol &S);
  842 llvm::json::Value toJSON(const SymbolInformation &);
  861 llvm::json::Value toJSON(const SymbolDetails &);
  870 bool fromJSON(const llvm::json::Value &, WorkspaceSymbolParams &);
  875 llvm::json::Value toJSON(const ApplyWorkspaceEditParams &);
  881 bool fromJSON(const llvm::json::Value &, ApplyWorkspaceEditResponse &);
  890 bool fromJSON(const llvm::json::Value &, TextDocumentPositionParams &);
  910 bool fromJSON(const llvm::json::Value &, CompletionContext &);
  915 bool fromJSON(const llvm::json::Value &, CompletionParams &);
  921 llvm::json::Value toJSON(const MarkupContent &MC);
  931 llvm::json::Value toJSON(const Hover &H);
 1004 llvm::json::Value toJSON(const CompletionItem &);
 1018 llvm::json::Value toJSON(const CompletionList &);
 1035 llvm::json::Value toJSON(const ParameterInformation &);
 1049 llvm::json::Value toJSON(const SignatureInformation &);
 1072 llvm::json::Value toJSON(const SignatureHelp &);
 1084 bool fromJSON(const llvm::json::Value &, RenameParams &);
 1111 llvm::json::Value toJSON(const DocumentHighlight &DH);
 1115 bool fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out);
 1127 bool fromJSON(const llvm::json::Value &, TypeHierarchyParams &);
 1171 llvm::json::Value toJSON(const TypeHierarchyItem &);
 1173 bool fromJSON(const llvm::json::Value &, TypeHierarchyItem &);
 1186 bool fromJSON(const llvm::json::Value &, ResolveTypeHierarchyItemParams &);
 1191 bool fromJSON(const llvm::json::Value &, ReferenceParams &);
 1203 llvm::json::Value toJSON(const FileStatus &FStatus);
 1215 llvm::json::Value toJSON(const SemanticHighlightingInformation &Highlighting);
 1224 llvm::json::Value toJSON(const SemanticHighlightingParams &Highlighting);
 1233 bool fromJSON(const llvm::json::Value &, SelectionRangeParams &);
 1246 llvm::json::Value toJSON(const SelectionRange &);
tools/clang/tools/extra/clangd/Transport.h
   39   virtual void notify(llvm::StringRef Method, llvm::json::Value Params) = 0;
   40   virtual void call(llvm::StringRef Method, llvm::json::Value Params,
   41                     llvm::json::Value ID) = 0;
   42   virtual void reply(llvm::json::Value ID,
   43                      llvm::Expected<llvm::json::Value> Result) = 0;
   50     virtual bool onNotify(llvm::StringRef Method, llvm::json::Value) = 0;
   51     virtual bool onCall(llvm::StringRef Method, llvm::json::Value Params,
   52                         llvm::json::Value ID) = 0;
   53     virtual bool onReply(llvm::json::Value ID,
   54                          llvm::Expected<llvm::json::Value> Result) = 0;
tools/clang/tools/extra/clangd/benchmarks/IndexBenchmark.cpp
   56   for (const auto &Item : *JSONArray->getAsArray()) {
tools/clang/tools/extra/clangd/index/Index.cpp
   34 bool fromJSON(const llvm::json::Value &Parameters, FuzzyFindRequest &Request) {
   48 llvm::json::Value toJSON(const FuzzyFindRequest &Request) {
tools/clang/tools/extra/clangd/index/Index.h
   60 bool fromJSON(const llvm::json::Value &Value, FuzzyFindRequest &Request);
   61 llvm::json::Value toJSON(const FuzzyFindRequest &Request);
tools/clang/tools/extra/clangd/unittests/JSONTransportTests.cpp
   60   bool onNotify(llvm::StringRef Method, llvm::json::Value Params) override {
   67   bool onCall(llvm::StringRef Method, llvm::json::Value Params,
   68               llvm::json::Value ID) override {
   78   bool onReply(llvm::json::Value ID,
   79                llvm::Expected<llvm::json::Value> Params) override {
tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
 3087   llvm::Expected<json::Value> threads_info = GetJSONThreadsInfo(
tools/lldb/source/Utility/StructuredData.cpp
   24 static StructuredData::ObjectSP ParseJSONValue(json::Value &value);
   29   llvm::Expected<json::Value> value = json::parse(json_text);
   51 static StructuredData::ObjectSP ParseJSONValue(json::Value &value) {
   81     json::Value value = KV.second;
   90   for (json::Value &value : *array) {
tools/lldb/tools/lldb-vscode/JSONUtils.cpp
   33 llvm::StringRef GetAsString(const llvm::json::Value &value) {
  108   for (const auto &value : *json_array) {
  110     case llvm::json::Value::String:
  113     case llvm::json::Value::Number:
  114     case llvm::json::Value::Boolean: {
  121     case llvm::json::Value::Null:
  122     case llvm::json::Value::Object:
  123     case llvm::json::Value::Array:
  225 llvm::json::Value CreateScope(const llvm::StringRef name,
  284 llvm::json::Value CreateBreakpoint(lldb::SBBreakpointLocation &bp_loc) {
  385 llvm::json::Value
  459 llvm::json::Value CreateSource(lldb::SBLineEntry &line_entry) {
  475 llvm::json::Value CreateSource(lldb::SBFrame &frame, int64_t &disasm_line) {
  618 llvm::json::Value CreateStackFrame(lldb::SBFrame &frame) {
  654 llvm::json::Value CreateThread(lldb::SBThread &thread) {
  728 llvm::json::Value CreateThreadStopped(lldb::SBThread &thread,
  848 llvm::json::Value CreateVariable(lldb::SBValue v, int64_t variablesReference,
tools/lldb/tools/lldb-vscode/JSONUtils.h
   42 llvm::StringRef GetAsString(const llvm::json::Value &value);
  208 llvm::json::Value CreateBreakpoint(lldb::SBBreakpointLocation &bp_loc);
  229 llvm::json::Value
  250 llvm::json::Value CreateScope(const llvm::StringRef name,
  264 llvm::json::Value CreateSource(lldb::SBLineEntry &line_entry);
  289 llvm::json::Value CreateSource(lldb::SBFrame &frame, int64_t &disasm_line);
  308 llvm::json::Value CreateStackFrame(lldb::SBFrame &frame);
  326 llvm::json::Value CreateThread(lldb::SBThread &thread);
  349 llvm::json::Value CreateThreadStopped(lldb::SBThread &thread, uint32_t stop_id);
  390 llvm::json::Value CreateVariable(lldb::SBValue v, int64_t variablesReference,
tools/lldb/tools/lldb-vscode/VSCode.cpp
   99 void VSCode::SendJSON(const llvm::json::Value &json) {
  272 llvm::json::Value VSCode::CreateTopLevelScopes() {
tools/lldb/tools/lldb-vscode/VSCode.h
  109   void SendJSON(const llvm::json::Value &json);
  126   llvm::json::Value CreateTopLevelScopes();
tools/lldb/tools/lldb-vscode/lldb-vscode.cpp
  429     for (const auto &value : *sourceMap) {
  432           (*mapping)[0].kind() != llvm::json::Value::String ||
  433           (*mapping)[1].kind() != llvm::json::Value::String) {
 1579   for (const auto &bp : *breakpoints) {
 1708   for (const auto &value : *filters) {
 1810   for (const auto &value : *breakpoints) {
 2627     llvm::Expected<llvm::json::Value> json_value = llvm::json::parse(json_sref);
tools/llvm-dwarfdump/Statistics.cpp
  453 static void printDatum(raw_ostream &OS, const char *Key, json::Value Value) {
tools/polly/lib/Exchange/JSONExporter.cpp
  128 static json::Value getJSON(Scop &S) {
  177   json::Value jscop = getJSON(S);
  710   Expected<json::Value> ParseResult =
unittests/Support/JSONTest.cpp
   20 std::string s(const Value &E) { return llvm::formatv("{0}", E).str(); }
   21 std::string sp(const Value &E) { return llvm::formatv("{0:2}", E).str(); }
   56   Value Alias = static_cast<const char *>(X);
   61   Value Copy = Y;
  222   llvm::Expected<Value> Doc = parse(R"(
  257   for (Value &E : *A) {
  271     Value Val;
  318     llvm::Expected<Value> Doc = parse(T.Str);
  344 bool fromJSON(const Value &E, CustomStruct &R) {
  356   Value J = Object{
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 { };
  136     inline _GLIBCXX17_CONSTEXPR _Tp*
  137     addressof(_Tp& __r) noexcept
  143     const _Tp* addressof(const _Tp&&) = delete;
  143     const _Tp* addressof(const _Tp&&) = delete;
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/predefined_ops.h
  176 	operator()(_Iterator __it, _Value& __val)
  214 	operator()(_Value& __val, _Iterator __it)
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/std_function.h
   62     : std::unary_function<_T1, _Res> { };
   67     : std::binary_function<_T1, _T2, _Res> { };
  314       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
  317 	    std::forward<_ArgTypes>(__args)...);
  390     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
  595       _Res operator()(_ArgTypes... __args) const;
  628       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
  689 	typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler;
  706       return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
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)...); }
   97     _Destroy(_Tp* __pointer)
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
  121       typedef _Arg1 	first_argument_type; 
usr/include/c++/7.4.0/bits/stl_heap.h
  129 		_Distance __holeIndex, _Distance __topIndex, _Tp __value,
  215 		  _Distance __len, _Tp __value, _Compare __comp)
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_pair.h
  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)
  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)
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);
 1455 	  _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
 1472 	typename aligned_storage<sizeof(_Tp), alignof(_Tp)>::type __buf;
 1472 	typename aligned_storage<sizeof(_Tp), alignof(_Tp)>::type __buf;
 1479 	_M_insert_aux(iterator __position, _Arg&& __arg);
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
 1561 	_Up*
 1562 	_M_data_ptr(_Up* __ptr) const _GLIBCXX_NOEXCEPT
 1601     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
 1601     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
usr/include/c++/7.4.0/bits/vector.tcc
  101 				     std::forward<_Args>(__args)...);
  105 	  _M_realloc_insert(end(), std::forward<_Args>(__args)...);
  386       *__position = std::forward<_Arg>(__arg);
  418 				   std::forward<_Args>(__args)...);
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/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
  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>
 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>
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2118       typedef typename remove_reference<_Tp>::type __remove_type;
 2171     { typedef _Iffalse type; };
 2428       std::declval<_Fn>()(std::declval<_Args>()...)
 2439       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
 2452 	_Functor, _ArgTypes...
 2458     : public __invoke_result<_Functor, _ArgTypes...>
 2574       typename remove_reference<_Tp>::type>::type>::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);
  677 void PrintTo(const ::std::pair<T1, T2>& value, ::std::ostream* 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);