File: template.h

package info (click to toggle)
lorene 0.0.0~cvs20161116%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, stretch
  • size: 26,444 kB
  • ctags: 13,953
  • sloc: cpp: 212,946; fortran: 21,645; makefile: 1,750; sh: 4
file content (118 lines) | stat: -rw-r--r-- 2,852 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*
 *  Definition of Lorene class XXX
 *
 */

/*
 *   Copyright (c) year  your_name
 *
 *   This file is part of LORENE.
 *
 *   LORENE is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License version 2
 *   as published by the Free Software Foundation.
 *
 *   LORENE is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with LORENE; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

#ifndef __XXX_H_ 
#define __XXX_H_ 

/*
 * $Id: template.h,v 1.6 2014/10/13 08:54:04 j_novak Exp $
 * $Log: template.h,v $
 * Revision 1.6  2014/10/13 08:54:04  j_novak
 * Lorene classes and functions now belong to the namespace Lorene.
 *
 * Revision 1.5  2004/03/29 14:31:39  j_novak
 * set_der_0x0 is no longer virtual cvs update
 *
 *
 *
 * *** Suppress all lines (including those of this comment) which are not
 * *** between two $ characters. The lines between two $ must not be
 * *** changed: they will be processed by CVS when committing this file:
 * *** for instance, templace.h will be replaced by the actual name of this
 * *** file, etc... 
 *
 *
 * $Header: /cvsroot/Lorene/Devel/template.h,v 1.6 2014/10/13 08:54:04 j_novak Exp $
 *
 */

namespace Lorene { // All Lorene stuff is part of a single namespace

// External classes which appear in the declaration of class XXX:
class YYY ; 

/**
 * Extended description of the class for doxygen documentation.
 * \ingroup(???)
 * 
 */
class XXX {

    // Data : 
    // -----
    protected:

    // Derived data : 
    // ------------
    protected:
	mutable ?? p_?? ;   ///< Comment for Doxygen

    // Constructors - Destructor
    // -------------------------
    public:
	XXX(??) ;			///< Standard constructor
	XXX(const XXX& ) ;		///< Copy constructor

	/// Constructor from a file (see \c sauve(FILE*) )
	XXX(FILE* ) ;    		

	virtual ~XXX() ;			///< Destructor
 

    // Memory management
    // -----------------
    protected:
	/// Deletes all the derived quantities
	virtual void del_deriv() const ; 
	
	/// Sets to \c 0x0 all the pointers on derived quantities
	void set_der_0x0() const ; 


    // Mutators / assignment
    // ---------------------
    public:
	/// Assignment to another XXX
	void operator=(const XXX&) ;	
	
    // Accessors
    // ---------
    public:

    // Outputs
    // -------
    public:
	virtual void sauve(FILE *) const ;	    ///< Save in a file
    
	/// Display
	friend ostream& operator<<(ostream& , const XXX& ) ;	



};

} // End of namespace declaration

#endif