Graphite  Version 3
An experimental 3D geometry processing program
common.h
Go to the documentation of this file.
1 /*
2  * OGF/Graphite: Geometry and Graphics Programming Library + Utilities
3  * Copyright (C) 2000 Bruno Levy
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  *
19  * If you modify this software, you should include a notice giving the
20  * name of the person performing the modification, the date of modification,
21  * and the reason for such modification.
22  *
23  * Contact: Bruno Levy
24  *
25  * levy@loria.fr
26  *
27  * ISA Project
28  * LORIA, INRIA Lorraine,
29  * Campus Scientifique, BP 239
30  * 54506 VANDOEUVRE LES NANCY CEDEX
31  * FRANCE
32  *
33  * Note that the GNU General Public License does not permit incorporating
34  * the Software into proprietary programs.
35  */
36 
37 
38 #ifndef H_OGF_RENDERER_COMMON_COMMON_H
39 #define H_OGF_RENDERER_COMMON_COMMON_H
40 
48 
49 #ifdef renderer_EXPORTS
50 # define RENDERER_API OGF_EXPORT
51 #else
52 # define RENDERER_API OGF_IMPORT
53 #endif
54 
55 
56 #include <iostream>
57 // iostream should be included before anything
58 // else, otherwise 'cin', 'cout' and 'cerr' will
59 // be uninitialized.
60 
61 namespace OGF {
62 
63  static class RENDERER_API renderer_libinit {
64  public:
65  renderer_libinit() ;
66  ~renderer_libinit() ;
67 
68  static void increment_users() ;
69  static void decrement_users() ;
70 
71 
72  private:
73  static void initialize() ;
74  static void terminate() ;
75  static int count_ ;
76  } renderer_libinit_instance ;
77 
78 }
79 
80 #endif
Common include file, providing basic definitions. Should be included before anything else by all head...
void initialize()
Initializes the command line framework.
void terminate()
Cleans up the command line framework.
Global Graphite namespace.
Definition: common.h:76
Definitions common to all include files in the basic library.