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

more::lang::ct_type Class Reference

Abstract base class for runtime type representation. More...

#include <more/lang/ct_type.h>

Inheritance diagram for more::lang::ct_type:

Inheritance graph
[legend]
Collaboration diagram for more::lang::ct_type:

Collaboration graph
[legend]
List of all members.

Public Types

Public Methods

Static Public Attributes

Protected Methods

Static Protected Attributes

Friends


Detailed Description

Abstract base class for runtime type representation.


Member Typedef Documentation

typedef short more::lang::ct_type::alignment_type
 

typedef math::hash<192> more::lang::ct_type::hash_type
 

typedef unsigned short more::lang::ct_type::printopt_type
 

typedef std::size_t more::lang::ct_type::size_type
 

Reimplemented in more::lang::ct_proto, and more::lang::ct_struct.


Constructor & Destructor Documentation

more::lang::ct_type::ct_type  
 

Construct a type with CV qualified variants.

This constructor give tho non-const and non-volatile variant. The other variants can be obtained with to_cv.

more::lang::ct_type::ct_type size_type   ,
alignment_type   
 

more::lang::ct_type::ct_type size_type   ,
alignment_type   ,
bool    const_p,
bool    volatile_p
 

virtual more::lang::ct_type::~ct_type   [virtual]
 


Member Function Documentation

alignment_type more::lang::ct_type::alignment   const [inline]
 

char const* more::lang::ct_type::c_error_value   const [inline]
 

virtual ct_type* more::lang::ct_type::clone   const [pure virtual]
 

Return an ct_type identical to this.

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, and more::lang::ct_array.

virtual void more::lang::ct_type::construct_copy void *    p,
void *    src
const [pure virtual]
 

Constructor the object at p as a copy of src.

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, more::lang::ct_array, and more::lang::rt_closure_proto.

virtual void more::lang::ct_type::destruct void *    p const [pure virtual]
 

Destruct the object at p.

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, more::lang::ct_array, and more::lang::rt_closure_proto.

virtual int more::lang::ct_type::digits   const [virtual]
 

virtual int more::lang::ct_type::digits10   const [virtual]
 

virtual bool more::lang::ct_type::equal void *    p0,
void *    p1
const [pure virtual]
 

True iff the objects at p0 and p1 are equal.

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, more::lang::ct_array, and more::lang::rt_closure_proto.

virtual bool more::lang::ct_type::equal_to ct_type const *    const [pure virtual]
 

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, and more::lang::ct_array.

virtual std::float_denorm_style more::lang::ct_type::has_denorm   const [virtual]
 

virtual bool more::lang::ct_type::has_denorm_loss   const [virtual]
 

virtual bool more::lang::ct_type::has_infinity   const [virtual]
 

virtual bool more::lang::ct_type::has_quiet_NaN   const [virtual]
 

virtual bool more::lang::ct_type::has_signaling_NaN   const [virtual]
 

virtual void more::lang::ct_type::hash hash_type   const [pure virtual]
 

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, and more::lang::ct_array.

virtual bool more::lang::ct_type::is_bounded   const [virtual]
 

virtual bool more::lang::ct_type::is_builtin   const [virtual]
 

bool more::lang::ct_type::is_const   const [inline]
 

virtual bool more::lang::ct_type::is_exact   const [virtual]
 

virtual bool more::lang::ct_type::is_iec559   const [virtual]
 

virtual bool more::lang::ct_type::is_integer   const [virtual]
 

virtual bool more::lang::ct_type::is_modulo   const [virtual]
 

virtual bool more::lang::ct_type::is_number   const [virtual]
 

bool more::lang::ct_type::is_volatile   const [inline]
 

virtual int more::lang::ct_type::max_exponent   const [virtual]
 

virtual int more::lang::ct_type::max_exponent10   const [virtual]
 

virtual int more::lang::ct_type::min_exponent   const [virtual]
 

virtual int more::lang::ct_type::min_exponent10   const [virtual]
 

void more::lang::ct_type::print_declaration std::ostream &   ,
printopt_type   ,
char const *    var = 0
const
 

Print a declaration of var with the type described by this.

If var = 0, just print the type. No semicolon is added.

void more::lang::ct_type::print_declaration_cv std::ostream &   ,
printopt_type   
const [protected]
 

Print only the const and volatile keywords.

This is helper mostly for internal use.

virtual void more::lang::ct_type::print_declaration_post std::ostream &   ,
printopt_type   
const [pure virtual]
 

Print the part of the declaration which succeeds the variable or function name.

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, and more::lang::ct_array.

virtual void more::lang::ct_type::print_declaration_pre std::ostream &   ,
printopt_type   
const [pure virtual]
 

Print the part of the declaration which precedes the variable or function name.

Reimplemented in more::lang::ct_proto, more::lang::ct_incomplete, more::lang::ct_struct, more::lang::ct_pointer, and more::lang::ct_array.

virtual void more::lang::ct_type::print_object std::ostream &   ,
void *   
const [virtual]
 

Print the object in human readable form.

It is not very important to reimplement this.

Reimplemented in more::lang::ct_pointer, and more::lang::ct_array.

virtual ct_type const* more::lang::ct_type::promoted   const [virtual]
 

virtual int more::lang::ct_type::radix   const [virtual]
 

virtual std::float_round_style more::lang::ct_type::round_style   const [virtual]
 

void more::lang::ct_type::set_size_and_alignment size_type    size,
alignment_type    alignment
[inline, protected]
 

size_type more::lang::ct_type::size   const [inline]
 

virtual bool more::lang::ct_type::tinyness_before   const [virtual]
 

virtual bool more::lang::ct_type::traps   const [virtual]
 


Friends And Related Function Documentation

ct_type const* to_cv ct_type const *    rtt,
bool    const_p,
bool    volatile_p
[friend]
 

Return an clone of rtt with different CV equalifiers.


Member Data Documentation

printopt_type const more::lang::ct_type::printopt_function_args = 8 [static]
 

printopt_type const more::lang::ct_type::printopt_lang_cxx = 16 [static]
 

printopt_type const more::lang::ct_type::printopt_low_precedence = 1 [static]
 

printopt_type const more::lang::ct_type::printopt_space_after_name = 4 [static]
 

printopt_type const more::lang::ct_type::printopt_space_before_name = 2 [static]
 

char const* more::lang::ct_type::s_private_pfx [static, protected]
 


The documentation for this class was generated from the following file:
Generated on Sat Sep 7 19:12:49 2002 for more with Doxygen 1.2.13.1. Doxygen 1.2.13.1 is written and copyright 1997-2002 by Dimitri van Heesch.