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<typename T >
void generate (const std::vector< T > &v)
 
template<typename T >
std::enable_if< std::is_same< T, big_int >::value >::type generate (const T &v)
 
template<typename T >
std::enable_if< has_toJSON< T >::value &&!std::is_base_of< IR::Node, T >::value >::type 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< std::is_integral< T >::value >::type generate (T v)
 
template<typename T >
std::enable_if< std::is_same< T, LTBitMatrix >::value||std::is_enum< T >::value >::type generate (T v)
 
template<typename T >
std::enable_if< std::is_pointer< T >::value &&has_toJSON< typenamestd::remove_pointer< T >::type >::value >::type 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