P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::JSONGenerator Class Reference

Public Member Functions

 JSONGenerator (std::ostream &out, bool dumpSourceInfo=false)
 
void generate (bool v)
 
void generate (const bitvec &v)
 
void generate (const IR::Node &v)
 
void generate (const match_t &v)
 
template<typename K , typename V >
void generate (const ordered_map< K, V > &v)
 
template<typename T >
void generate (const ordered_set< T > &v)
 
template<typename T >
void generate (const safe_vector< T > &v)
 
template<typename K , typename V >
void generate (const std::map< K, V > &v)
 
template<typename T >
void generate (const std::optional< T > &v)
 
template<typename T , typename U >
void generate (const std::pair< T, U > &v)
 
template<typename T >
void generate (const std::set< T > &v)
 
template<class... Types>
void generate (const std::variant< Types... > &v)
 
template<typename T >
void generate (const std::vector< T > &v)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, big_int > > generate (const T &v)
 
template<typename T >
std::enable_if_t< has_toJSON< T >::value &&!std::is_base_of_v< IR::Node, T > > generate (const T &v)
 
template<typename T , size_t N>
void generate (const T(&v)[N])
 
void generate (cstring v)
 
void generate (double v)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T > > generate (T v)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, LTBitMatrix >||std::is_enum_v< T > > generate (T v)
 
template<typename T >
std::enable_if_t< std::is_pointer_v< T > &&has_toJSON< std::remove_pointer_t< T > >::value > generate (T v)
 
JSONGeneratoroperator<< (char ch)
 
JSONGeneratoroperator<< (const char *s)
 
template<typename T >
JSONGeneratoroperator<< (const T &v)
 
JSONGeneratoroperator<< (indent_t i)
 
JSONGeneratoroperator<< (std::ostream &(*fn)(std::ostream &))
 
template<typename T , typename U >
void toJSON (const std::pair< T, U > &v)
 

Public Attributes

indent_t indent