P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
json::number Class Reference
Inheritance diagram for json::number:
[legend]

Public Member Functions

 number (int64_t l)
 
const numberas_number () const override
 
numberas_number () override
 
std::unique_ptr< objclone () const override
 
std::unique_ptr< objcopy () &&override
 
bool operator< (const obj &a) const override
 
bool operator== (const obj &a) const override
 
bool operator== (int64_t v) const override
 
void print_on (std::ostream &out, int=0, int=80, const char *="") const override
 
bool test_width (int &limit) const override
 
- Public Member Functions inherited from json::obj
 obj (const obj &)=default
 
 obj (obj &&)=default
 
virtual mapas_map ()
 
virtual const mapas_map () const
 
virtual stringas_string ()
 
virtual const stringas_string () const
 
virtual vectoras_vector ()
 
virtual const vectoras_vector () const
 
virtual const char * c_str () const
 
template<class T>
bool is () const
 
bool operator!= (const char *str) const
 
bool operator!= (const obj &a) const
 
bool operator!= (int64_t val) const
 
bool operator<= (const obj &a) const
 
objoperator= (const obj &) &=default
 
objoperator= (obj &&) &=default
 
virtual bool operator== (const char *) const
 
virtual bool operator== (const std::string &) const
 
virtual bool operator== (const string &) const
 
bool operator> (const obj &a) const
 
bool operator>= (const obj &a) const
 
template<class T>
T & to ()
 
template<class T>
const T & to () const
 
std::string toString () const
 

Public Attributes

int64_t val
 

Additional Inherited Members

- Static Public Member Functions inherited from json::obj
static std::unique_ptr< objclone_ptr (const std::unique_ptr< obj > &a)
 

Member Function Documentation

◆ as_number() [1/2]

const number * json::number::as_number ( ) const
inlineoverridevirtual

Reimplemented from json::obj.

◆ as_number() [2/2]

number * json::number::as_number ( )
inlineoverridevirtual

Reimplemented from json::obj.

◆ clone()

std::unique_ptr< obj > json::number::clone ( ) const
inlineoverridevirtual

Implements json::obj.

◆ copy()

std::unique_ptr< obj > json::number::copy ( ) &&
inlineoverridevirtual

Implements json::obj.

◆ operator<()

bool json::number::operator< ( const obj & a) const
inlineoverridevirtual

Implements json::obj.

◆ operator==() [1/2]

bool json::number::operator== ( const obj & a) const
inlineoverridevirtual

Implements json::obj.

◆ operator==() [2/2]

bool json::number::operator== ( int64_t v) const
inlineoverridevirtual

Reimplemented from json::obj.

◆ print_on()

void json::number::print_on ( std::ostream & out,
int = 0,
int = 80,
const char * = "" ) const
inlineoverridevirtual

Implements json::obj.

◆ test_width()

bool json::number::test_width ( int & limit) const
inlineoverridevirtual

Implements json::obj.