BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
BesODMGTypes.h
Go to the documentation of this file.
1/*
2//--------------------------------------------------------------------------
3// BesODMGTypes.h
4//
5// File and Version Information:
6// $Id: BesODMGTypes.h,v 1.2 2009/12/23 02:59:56 zhangy Exp $
7//
8// Description:
9// Typedefs of ODMG d_* platform-invariant types for use in code
10// compiled without Objectivity. (Objectivity will otherwise define
11// these types itself.)
12//
13// Environment:
14// Software developed for the Bes Detector at the SLAC B-Factory.
15//
16// Author List:
17// Dirk Duellman, RD45 Originator
18// David Quarrie Brought into Bes, bug fixes
19// Gregory Dubois-Felsmann Moved to Bes/BesODMGTypes.h
20//
21// Copyright Information:
22// Copyright (C) 1997 California Institute of Technology et al.
23//
24// History:
25// Migration for BESIII MDC
26//
27//--------------------------------------------------------------------------
28*/
29
30#ifndef BESODMGTYPES_H
31#define BESODMGTYPES_H
32
33/*
34// Original RD45 header:
35// -*- Mode: C++ -*-
36// ODMGTypes.h -- define ODMG types based on C++ types
37// created on Thu Apr 4 13:17:51 1996
38// by Dirk Duellmann
39//
40// Brought into HepODBMS/odbms/HepODMGTypes.h by David Quarrie
41// (Id: HepODMGTypes.h,v 1.5 1997/12/22 15:56:57 quarrie Exp )
42//
43// Copied from HEAD of HepODBMS (V00-00-07 plus RCSv1.5 of this file)
44// by Gregory Dubois-Felsmann to package Bes, to implement common
45// platform-invariant-size types for DataFlow.
46//
47// Comments changed to C style as a step toward making it useful in that
48// language, too, but *this has not been otherwise tested*.
49//
50// d_Char and d_Octet changed from "signed char" to "char" to conform
51// more precisely with Objectivity definitions. This does mean that
52// their signedness can vary from platform to platform, but this is
53// better than having the type of d_Char depend on whether Objectivity
54// is included in a build or not.
55*/
56
57/* It is only legitimate to define these types if Objectivity has */
58/* not itself been set up by including "oo.h". oo.h defines all */
59/* the types below as macros (not typedefs). The use of typedefs */
60/* here comes from RD45. */
61
62#ifndef OO_H
63
64/* Switch over architectures */
65
66#if defined(__DECCXX) || defined(__alpha__)
67
68/* DEC Unix (C++ or g++) */
69
70typedef signed short int d_Short;
71typedef signed int d_Long;
72typedef unsigned short int d_UShort;
73typedef unsigned int d_ULong;
74typedef float d_Float;
75typedef double d_Double;
76typedef char d_Char;
77typedef char d_Octet;
78typedef unsigned char d_Boolean;
79typedef unsigned char uint8;
80
81#else
82
83/* All other architectures */
84
85/* This is no longer needed with the aCC compiler on HPs. */
86/* No other Bes platforms had this property. */
87/* #ifdef Hep_NO_SIGNED_KEYWORD */
88/* / * hp compiler does not know about the signed keyword * / */
89/* #define signed */
90/* #endif */
91
92
93typedef signed short d_Short;
94typedef signed int d_Long;
95typedef unsigned short d_UShort;
96typedef unsigned int d_ULong;
97typedef float d_Float;
98typedef double d_Double;
99typedef char d_Char;
100typedef char d_Octet;
101typedef unsigned char d_Boolean;
102typedef unsigned char uint8;
103
104
105/* #ifdef Hep_NO_SIGNED_KEYWORD */
106/* / * hp compiler does not know about the signed keyword * / */
107/* #undef signed */
108/* #endif */
109
110
111/* End of architecture selection */
112#endif
113
114/* End of check on OO_H */
115#endif
116
117/* End of BESODMGTYPES_H */
118#endif
signed int d_Long
signed short d_Short
unsigned int d_ULong
double d_Double
float d_Float
char d_Octet
unsigned char d_Boolean
char d_Char
unsigned short d_UShort
unsigned char uint8