NCBI C++ ToolKit
mcontainer.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef MODULECONTAINER_HPP
2 #define MODULECONTAINER_HPP
3 
4 /* $Id: mcontainer.hpp 47883 2010-11-09 13:14:51Z gouriano $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Eugene Vasilchenko
30 *
31 * File Description:
32 * Module container: base classes for module set
33 *
34 */
35 
36 #include <corelib/ncbistd.hpp>
37 
39 
40 class CMemoryRegistry;
41 class CDataType;
42 class CDataTypeModule;
43 class CNamespace;
44 
50 };
51 
53 {
54 public:
55  CModuleContainer(void);
56  virtual ~CModuleContainer(void);
57 
58  virtual const CMemoryRegistry& GetConfig(void) const;
59  virtual const string& GetSourceFileName(void) const;
60  virtual string GetFileNamePrefix(void) const;
63  {
65  != 0;
66  }
68  {
70  != 0;
71  }
72  bool UseAllFileNamePrefixes(void) const
73  {
75  != 0;
76  }
77  virtual CDataType* InternalResolve(const string& moduleName,
78  const string& typeName) const;
79 
80  virtual const CNamespace& GetNamespace(void) const;
81  virtual string GetNamespaceRef(const CNamespace& ns) const;
82 
83  void SetModuleContainer(const CModuleContainer* parent);
84  const CModuleContainer& GetModuleContainer(void) const;
85 private:
87 
90 };
91 
93 
94 #endif
CMemoryRegistry –.
Definition: ncbireg.hpp:584
virtual CDataType * InternalResolve(const string &moduleName, const string &typeName) const
Definition: mcontainer.cpp:84
const CModuleContainer * m_Parent
Definition: mcontainer.hpp:86
virtual string GetFileNamePrefix(void) const
Definition: mcontainer.cpp:74
virtual EFileNamePrefixSource GetFileNamePrefixSource(void) const
Definition: mcontainer.cpp:79
virtual string GetNamespaceRef(const CNamespace &ns) const
Definition: mcontainer.cpp:95
const CModuleContainer & GetModuleContainer(void) const
Definition: mcontainer.cpp:54
CModuleContainer(const CModuleContainer &)
virtual const CNamespace & GetNamespace(void) const
Definition: mcontainer.cpp:90
virtual const string & GetSourceFileName(void) const
Definition: mcontainer.cpp:65
bool MakeFileNamePrefixFromModuleName(void) const
Definition: mcontainer.hpp:67
CModuleContainer(void)
Definition: mcontainer.cpp:39
virtual ~CModuleContainer(void)
Definition: mcontainer.cpp:44
CModuleContainer & operator=(const CModuleContainer &)
bool UseAllFileNamePrefixes(void) const
Definition: mcontainer.hpp:72
bool MakeFileNamePrefixFromSourceFileName(void) const
Definition: mcontainer.hpp:62
virtual const CMemoryRegistry & GetConfig(void) const
Definition: mcontainer.cpp:60
void SetModuleContainer(const CModuleContainer *parent)
Definition: mcontainer.cpp:48
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
EFileNamePrefixSource
Definition: mcontainer.hpp:45
@ eFileName_FromNone
Definition: mcontainer.hpp:46
@ eFileName_UseAllPrefixes
Definition: mcontainer.hpp:49
@ eFileName_FromSourceFileName
Definition: mcontainer.hpp:47
@ eFileName_FromModuleName
Definition: mcontainer.hpp:48
Modified on Thu Jul 18 16:03:53 2024 by modify_doxy.py rev. 669887