Revision 40758af18b420fd6926aa8e867d4d7cb0dedece9 authored by Lorenzo Moneta on 27 June 2006, 15:10:25 UTC, committed by Lorenzo Moneta on 27 June 2006, 15:10:25 UTC
git-svn-id: http://root.cern.ch/svn/root/trunk@15577 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 82c2d97
bc_type.h
/* /% C %/ */
/***********************************************************************
* cint (C/C++ interpreter)
************************************************************************
* Header file typeif.h
************************************************************************
* Description:
* C/C++ type abstraction
************************************************************************
* Copyright(c) 2004~2004 Masaharu Goto
*
* Permission to use, copy, modify and distribute this software and its
* documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation. The author makes no
* representations about the suitability of this software for any
* purpose. It is provided "as is" without express or implied warranty.
************************************************************************/
#ifndef BC_TYPE_H
#define BC_TYPE_H
#include <cstdio>
#include <cstdlib>
#include <cstring>
#if !defined(__sun) && (!defined(_MSC_VER) || _MSC_VER > 1200) && !(defined(__xlC__) || defined(__xlc__))
extern "C" {
#ifdef __CINT__
#include "../G__ci.h"
#else
#include "common.h"
#endif
#ifdef G__DEBUG
#undef G__MEMTEST_H
#undef G__MEMTEST
#include "memtest.h"
#endif
}
#else
#include "G__ci.h"
#include "common.h"
#ifdef G__DEBUG
#undef G__MEMTEST_H
#undef G__MEMTEST
#include "memtest.h"
#endif
#endif
#include "Api.h"
#include <string>
using namespace std;
template<class T> T bc_min(T a,T b) { return((a<b)?a:b); }
template<class T> T bc_max(T a,T b) { return((a>b)?a:b); }
/*************************************************************************
* class G__TypeReader
*************************************************************************/
class G__TypeReader : public G__TypeInfo {
int m_static;
int m_type; // just for error check
public:
G__TypeReader(const char *typenamein) : G__TypeInfo(typenamein)
{ m_type=0; m_static=0; }
G__TypeReader() : G__TypeInfo() { clear(); }
G__TypeReader(G__value& buf) : G__TypeInfo(buf) { m_type=0;m_static=0; }
void clear();
int append(const string& token,int c);
public:
void append_static() { m_static=1; }
void append_const() { isconst |= Ispointer()?G__PCONSTVAR:G__CONSTVAR; }
private:
void append_unsigned() ;
void append_long() ;
void append_int() ;
void append_short() ;
void append_char() ;
void append_double() ;
void append_float() ;
void append_void() ;
void append_FILE() ;
void append_bool() ;
public:
void incplevel() ;
void decplevel() ;
void increflevel() ;
void decreflevel() ;
void setisconst(int isconstin) { isconst=isconstin; }
void setreftype(int reftypein) { reftype=reftypein; }
void setstatic(int isstatic) { m_static=isstatic; }
void nextdecl() ;
public:
long Property();
int Isfundamental() { return(Property()&G__BIT_ISFUNDAMENTAL); }
int Isstatic() const { return(m_static); }
int Ispointer() const;
int Isreference() const;
void Init(G__value& x);
void Init(G__TypeInfo& x);
void Init(struct G__var_array *var,int ig15) {G__TypeInfo::Init(var,ig15);}
G__value GetValue() const;
};
#endif
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...