CCCC - C and C++ Code Counter  9999-git
CCCC Development version (post-3.1.4)
cccc_mod.h
Go to the documentation of this file.
1 /*
2  CCCC - C and C++ Code Counter
3  Copyright (C) 1994-2005 Tim Littlefair (tim_littlefair@hotmail.com)
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19 /*
20  * cccc_mod.h
21  */
22 #ifndef CCCC_MOD_H
23 #define CCCC_MOD_H
24 
25 #include "cccc.h"
26 
27 #include "cccc_rec.h"
28 
29 class CCCC_Item;
30 class CCCC_Project;
32 class CCCC_Member;
33 
34 
35 static const string MODULE_PREFIX="CCCC_Module";
36 static const string MODEXT_PREFIX="CCCC_ModExt";
37 
38 
41 
42 class CCCC_Module : public CCCC_Record
43 {
44  friend class CCCC_Project;
45  friend class CCCC_Html_Stream;
46  friend class CCCC_Xml_Stream;
49 
50  typedef std::map<string,CCCC_Member*> member_map_t;
51  member_map_t member_map;
52 
53  typedef std::map<string,CCCC_UseRelationship*> relationship_map_t;
54  relationship_map_t client_map;
55  relationship_map_t supplier_map;
56 
57  CCCC_Module();
58 
59 public:
60 
61  string name(int name_level) const;
62 
63  int FromFile(ifstream& infile);
64  int ToFile(ofstream& outfile);
65 
66  virtual int get_count(const char *count_tag);
67  int is_trivial();
68 };
69 
70 #endif // CCCC_MOD_H
71 
72 
73 
74 
75 
76 
relationship_map_t client_map
Definition: cccc_mod.h:54
int is_trivial()
Definition: cccc_mod.cc:181
static const string MODULE_PREFIX
Definition: cccc_mod.h:35
string module_name
Definition: cccc_mod.h:48
ModuleNameLevel
Definition: cccc_mod.h:39
std::map< string, CCCC_Member * > member_map_t
Definition: cccc_mod.h:50
virtual int get_count(const char *count_tag)
Definition: cccc_mod.cc:64
string module_type
Definition: cccc_mod.h:48
int ToFile(ofstream &outfile)
Definition: cccc_mod.cc:198
string name(int name_level) const
Definition: cccc_mod.cc:35
relationship_map_t supplier_map
Definition: cccc_mod.h:55
static const string MODEXT_PREFIX
Definition: cccc_mod.h:36
member_map_t member_map
Definition: cccc_mod.h:51
std::map< string, CCCC_UseRelationship * > relationship_map_t
Definition: cccc_mod.h:53
CCCC_Project * project
Definition: cccc_mod.h:47
int FromFile(ifstream &infile)
Definition: cccc_mod.cc:228