GCC Middle and Back End API Reference
json Namespace Reference

Data Structures

class  array
 
class  float_number
 
class  integer_number
 
class  literal
 
class  object
 
class  string
 
class  value
 

Enumerations

enum  kind {
  JSON_OBJECT , JSON_ARRAY , JSON_INTEGER , JSON_FLOAT ,
  JSON_STRING , JSON_TRUE , JSON_FALSE , JSON_NULL
}
 

Detailed Description

JSON trees
   Copyright (C) 2017-2024 Free Software Foundation, Inc.
   Contributed by David Malcolm <dmalcolm@redhat.com>.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
Implementation of JSON, a lightweight data-interchange format.

See http://www.json.org/
and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
and https://tools.ietf.org/html/rfc7159

Supports creating a DOM-like tree of json::value *, and then dumping
json::value * to text.   
TODO: `libcpp/mkdeps.cc` wants JSON writing support for p1689r5 output;
extract this code and move to libiberty.   
Timing variables for measuring compiler performance.
Copyright (C) 2000-2024 Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   

Enumeration Type Documentation

◆ kind

An enum for discriminating the subclasses of json::value.   
Enumerator
JSON_OBJECT 
JSON_ARRAY 
JSON_INTEGER 
JSON_FLOAT 
JSON_STRING 
JSON_TRUE 
JSON_FALSE 
JSON_NULL