summaryrefslogtreecommitdiffstats
path: root/Source/cmCableClassSet.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2001-07-26 15:07:18 (GMT)
committerBrad King <brad.king@kitware.com>2001-07-26 15:07:18 (GMT)
commit6d54c3d6f8b03b137368c5868454f727ef707ceb (patch)
tree44496e16a8d409de5b9bc7999e92a7a53f67ee31 /Source/cmCableClassSet.h
parentcb858f511ed262977eac99b5a3800f549702ec62 (diff)
downloadCMake-6d54c3d6f8b03b137368c5868454f727ef707ceb.zip
CMake-6d54c3d6f8b03b137368c5868454f727ef707ceb.tar.gz
CMake-6d54c3d6f8b03b137368c5868454f727ef707ceb.tar.bz2
ENH: Added cable class-set expansion and tagging for alternate name generation. This should make the generated wrappers much easier to setup and use.
Diffstat (limited to 'Source/cmCableClassSet.h')
-rw-r--r--Source/cmCableClassSet.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/Source/cmCableClassSet.h b/Source/cmCableClassSet.h
index 4263952..a21fa83 100644
--- a/Source/cmCableClassSet.h
+++ b/Source/cmCableClassSet.h
@@ -53,14 +53,23 @@ class cmCableClass
{
public:
typedef std::set<std::string> Sources;
+ cmCableClass() {}
+ cmCableClass(const std::string& tag): m_Tag(tag) {}
void AddSources(const Sources& sources);
void AddSource(const char*);
Sources::const_iterator SourcesBegin() const { return m_Sources.begin(); }
Sources::const_iterator SourcesEnd() const { return m_Sources.end(); }
+
+ const std::string& GetTag() const { return m_Tag; }
+
+private:
+ /**
+ * The tag name of this class.
+ */
+ std::string m_Tag;
-private:
/**
* Store the set of source files (headers) needed to define this class.
*/
@@ -75,22 +84,21 @@ class cmCableClassSet: public cmData
{
public:
cmCableClassSet(const char* name): cmData(name) {}
- virtual ~cmCableClassSet() {}
+ virtual ~cmCableClassSet();
/**
* The set is stored internally as a map from class name to cmCableClass
* instance.
*/
- typedef std::map<std::string, cmCableClass> CableClassMap;
+ typedef std::map<std::string, cmCableClass*> CableClassMap;
- void AddClass(const char*, const cmCableClass&);
+ void AddClass(const char*, cmCableClass*);
void AddSource(const char* name);
unsigned int Size() const;
CableClassMap::const_iterator Begin() const;
CableClassMap::const_iterator End() const;
void ParseAndAddElement(const char*, cmMakefile*);
- void AddCableClassSet(const cmCableClassSet&, const cmCableClass::Sources&);
private:
/**