Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

basic_type Class Reference

#include <basic_type.h>

List of all members.

Public Methods

 basic_type ()
 basic_type (unsigned int sign, unsigned int length, unsigned int base_type, unsigned int parse_only=0)
bool operator== (const basic_type &bt2) const
bool operator< (const basic_type &bt2) const
bool is_no_sign () const
void set_no_sign ()
bool is_signed () const
void set_signed ()
bool is_unsigned () const
void set_unsigned ()
bool parse_only () const
void parse_only (bool po)
bool is_no_type () const
void set_no_type ()
bool is_int () const
void set_int ()
bool is_char () const
void set_char ()
bool is_float () const
void set_float ()
bool is_void () const
void set_void ()
bool is_ellipsis () const
void set_ellipsis ()
bool is_no_length () const
void set_no_length ()
bool is_short () const
void set_short ()
bool is_long () const
void set_long ()
bool is_longlong () const
void set_longlong ()
bool is_integer () const
bool is_arithmetic () const
bool is_scalar () const
string to_string () const
string base_name () const
string length_name () const
string sign_name () const
int size ()
int alignment ()
void merge_in (basic_type &other, Coord coord=Coord::Unknown)
void finish ()

Static Public Attributes

const basic_type Void
const basic_type Ellipsis
const basic_type SChar
const basic_type UChar
const basic_type SShort
const basic_type UShort
const basic_type SInt
const basic_type UInt
const basic_type SLong
const basic_type ULong
const basic_type SLongLong
const basic_type ULongLong
const basic_type Float
const basic_type Double
const basic_type LongDouble
const basic_type Char
const basic_type Int
const basic_type Signed
const basic_type Unsigned
const basic_type Short
const basic_type Long
const basic_type LongLong
const basic_type IntParseOnly
const unsigned int TARGET_MAX_UCHAR = 256
const unsigned int TARGET_MAX_INT = INT_MAX
const unsigned int TARGET_MAX_UINT = UINT_MAX
const unsigned int TARGET_MAX_LONG = LONG_MAX
const unsigned int TARGET_MAX_ULONG = ULONG_MAX
const unsigned int CHAR_SIZE = sizeof(char)
const unsigned int CHAR_ALIGN = CHAR_SIZE
const unsigned int SHORT_SIZE = sizeof(short)
const unsigned int SHORT_ALIGN = SHORT_SIZE
const unsigned int INT_SIZE = sizeof(int)
const unsigned int INT_ALIGN = INT_SIZE
const unsigned int FLOAT_SIZE = sizeof(float)
const unsigned int FLOAT_ALIGN = FLOAT_SIZE
const unsigned int DOUBLE_SIZE = sizeof(double)
const unsigned int DOUBLE_ALIGN = DOUBLE_SIZE
const unsigned int LONGDOUBLE_SIZE = sizeof(long double)
const unsigned int LONGDOUBLE_ALIGN = LONGDOUBLE_SIZE
const unsigned int LONG_SIZE = sizeof(long)
const unsigned int LONG_ALIGN = LONG_SIZE
const unsigned int POINTER_SIZE = sizeof(void *)
const unsigned int POINTER_ALIGN = POINTER_SIZE
const unsigned int BYTE_LENGTH = CHAR_BIT
const unsigned int WORD_LENGTH = (INT_SIZE * BYTE_LENGTH)

Private Methods

unsigned int base_type () const
void base_type (unsigned int bt)
unsigned int length () const
void length (unsigned int l)
unsigned int sign () const
void sign (unsigned int s)

Private Attributes

unsigned int _base_type:3
unsigned int _length:2
unsigned int _sign:2
unsigned int _parse_only:1

Static Private Attributes

const unsigned int NO_TYPE = 0x0
const unsigned int INT = 0x1
const unsigned int CHAR = 0x2
const unsigned int FLOAT = 0x3
const unsigned int VOID = 0x4
const unsigned int ELLIPSIS = 0x5
const unsigned int NO_LENGTH = 0x0
const unsigned int SHORT = 0x1
const unsigned int LONG = 0x2
const unsigned int LONGLONG = 0x3
const unsigned int NO_SIGN = 0x0
const unsigned int SIGNED = 0x1
const unsigned int UNSIGNED = 0x2
const unsigned int PARSE_ONLY = 0x1


Constructor & Destructor Documentation

basic_type::basic_type   [inline]
 

basic_type::basic_type unsigned int    sign,
unsigned int    length,
unsigned int    base_type,
unsigned int    parse_only = 0
[inline]
 


Member Function Documentation

int basic_type::alignment  
 

string basic_type::base_name   const
 

void basic_type::base_type unsigned int    bt [inline, private]
 

unsigned int basic_type::base_type   const [inline, private]
 

void basic_type::finish  
 

bool basic_type::is_arithmetic   const [inline]
 

bool basic_type::is_char   const [inline]
 

bool basic_type::is_ellipsis   const [inline]
 

bool basic_type::is_float   const [inline]
 

bool basic_type::is_int   const [inline]
 

bool basic_type::is_integer   const [inline]
 

bool basic_type::is_long   const [inline]
 

bool basic_type::is_longlong   const [inline]
 

bool basic_type::is_no_length   const [inline]
 

bool basic_type::is_no_sign   const [inline]
 

bool basic_type::is_no_type   const [inline]
 

bool basic_type::is_scalar   const [inline]
 

bool basic_type::is_short   const [inline]
 

bool basic_type::is_signed   const [inline]
 

bool basic_type::is_unsigned   const [inline]
 

bool basic_type::is_void   const [inline]
 

void basic_type::length unsigned int    l [inline, private]
 

unsigned int basic_type::length   const [inline, private]
 

string basic_type::length_name   const
 

void basic_type::merge_in basic_type &    bt2,
Coord    coord = Coord::Unknown
 

bool basic_type::operator< const basic_type &    bt2 const [inline]
 

bool basic_type::operator== const basic_type &    bt2 const [inline]
 

void basic_type::parse_only bool    po [inline]
 

bool basic_type::parse_only   const [inline]
 

void basic_type::set_char   [inline]
 

void basic_type::set_ellipsis   [inline]
 

void basic_type::set_float   [inline]
 

void basic_type::set_int   [inline]
 

void basic_type::set_long   [inline]
 

void basic_type::set_longlong   [inline]
 

void basic_type::set_no_length   [inline]
 

void basic_type::set_no_sign   [inline]
 

void basic_type::set_no_type   [inline]
 

void basic_type::set_short   [inline]
 

void basic_type::set_signed   [inline]
 

void basic_type::set_unsigned   [inline]
 

void basic_type::set_void   [inline]
 

void basic_type::sign unsigned int    s [inline, private]
 

unsigned int basic_type::sign   const [inline, private]
 

string basic_type::sign_name   const
 

int basic_type::size  
 

string basic_type::to_string   const
 


Member Data Documentation

unsigned int basic_type::_base_type [private]
 

unsigned int basic_type::_length [private]
 

unsigned int basic_type::_parse_only [private]
 

unsigned int basic_type::_sign [private]
 

const unsigned int basic_type::BYTE_LENGTH = CHAR_BIT [static]
 

const basic_type basic_type::Char [static]
 

const unsigned int basic_type::CHAR = 0x2 [static, private]
 

const unsigned int basic_type::CHAR_ALIGN = CHAR_SIZE [static]
 

const unsigned int basic_type::CHAR_SIZE = sizeof(char) [static]
 

const basic_type basic_type::Double [static]
 

const unsigned int basic_type::DOUBLE_ALIGN = DOUBLE_SIZE [static]
 

const unsigned int basic_type::DOUBLE_SIZE = sizeof(double) [static]
 

const basic_type basic_type::Ellipsis [static]
 

const unsigned int basic_type::ELLIPSIS = 0x5 [static, private]
 

const basic_type basic_type::Float [static]
 

const unsigned int basic_type::FLOAT = 0x3 [static, private]
 

const unsigned int basic_type::FLOAT_ALIGN = FLOAT_SIZE [static]
 

const unsigned int basic_type::FLOAT_SIZE = sizeof(float) [static]
 

const basic_type basic_type::Int [static]
 

const unsigned int basic_type::INT = 0x1 [static, private]
 

const unsigned int basic_type::INT_ALIGN = INT_SIZE [static]
 

const unsigned int basic_type::INT_SIZE = sizeof(int) [static]
 

const basic_type basic_type::IntParseOnly [static]
 

const basic_type basic_type::Long [static]
 

const unsigned int basic_type::LONG = 0x2 [static, private]
 

const unsigned int basic_type::LONG_ALIGN = LONG_SIZE [static]
 

const unsigned int basic_type::LONG_SIZE = sizeof(long) [static]
 

const basic_type basic_type::LongDouble [static]
 

const unsigned int basic_type::LONGDOUBLE_ALIGN = LONGDOUBLE_SIZE [static]
 

const unsigned int basic_type::LONGDOUBLE_SIZE = sizeof(long double) [static]
 

const basic_type basic_type::LongLong [static]
 

const unsigned int basic_type::LONGLONG = 0x3 [static, private]
 

const unsigned int basic_type::NO_LENGTH = 0x0 [static, private]
 

const unsigned int basic_type::NO_SIGN = 0x0 [static, private]
 

const unsigned int basic_type::NO_TYPE = 0x0 [static, private]
 

const unsigned int basic_type::PARSE_ONLY = 0x1 [static, private]
 

const unsigned int basic_type::POINTER_ALIGN = POINTER_SIZE [static]
 

const unsigned int basic_type::POINTER_SIZE = sizeof(void *) [static]
 

const basic_type basic_type::SChar [static]
 

const basic_type basic_type::Short [static]
 

const unsigned int basic_type::SHORT = 0x1 [static, private]
 

const unsigned int basic_type::SHORT_ALIGN = SHORT_SIZE [static]
 

const unsigned int basic_type::SHORT_SIZE = sizeof(short) [static]
 

const basic_type basic_type::Signed [static]
 

const unsigned int basic_type::SIGNED = 0x1 [static, private]
 

const basic_type basic_type::SInt [static]
 

const basic_type basic_type::SLong [static]
 

const basic_type basic_type::SLongLong [static]
 

const basic_type basic_type::SShort [static]
 

const unsigned int basic_type::TARGET_MAX_INT = INT_MAX [static]
 

const unsigned int basic_type::TARGET_MAX_LONG = LONG_MAX [static]
 

const unsigned int basic_type::TARGET_MAX_UCHAR = 256 [static]
 

const unsigned int basic_type::TARGET_MAX_UINT = UINT_MAX [static]
 

const unsigned int basic_type::TARGET_MAX_ULONG = ULONG_MAX [static]
 

const basic_type basic_type::UChar [static]
 

const basic_type basic_type::UInt [static]
 

const basic_type basic_type::ULong [static]
 

const basic_type basic_type::ULongLong [static]
 

const basic_type basic_type::Unsigned [static]
 

const unsigned int basic_type::UNSIGNED = 0x2 [static, private]
 

const basic_type basic_type::UShort [static]
 

const basic_type basic_type::Void [static]
 

const unsigned int basic_type::VOID = 0x4 [static, private]
 

const unsigned int basic_type::WORD_LENGTH = (INT_SIZE * BYTE_LENGTH) [static]
 


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 12:06:24 2002 for C-Breeze by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001