diff options
author | Brad King <brad.king@kitware.com> | 2001-02-27 21:28:56 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2001-02-27 21:28:56 (GMT) |
commit | 711c652edbc47e123a22878e39a4944b31e4708e (patch) | |
tree | 771e17e651b09144265b41fae290aa779dfa7d82 /Source/cmCableInstantiateClassCommand.h | |
parent | 41d198ed40fcae8cbd2fae163af48d3c518c9628 (diff) | |
download | CMake-711c652edbc47e123a22878e39a4944b31e4708e.zip CMake-711c652edbc47e123a22878e39a4944b31e4708e.tar.gz CMake-711c652edbc47e123a22878e39a4944b31e4708e.tar.bz2 |
ENH: Implemented automatic tag generation for CABIL_DEFINE_SET command. Added tag output to WriteConfiguration methods. Added CABIL_INSTANTIATE_CLASS command to generate explicit class template instantiation configuration output.
Diffstat (limited to 'Source/cmCableInstantiateClassCommand.h')
-rw-r--r-- | Source/cmCableInstantiateClassCommand.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Source/cmCableInstantiateClassCommand.h b/Source/cmCableInstantiateClassCommand.h new file mode 100644 index 0000000..b02b28a --- /dev/null +++ b/Source/cmCableInstantiateClassCommand.h @@ -0,0 +1,75 @@ +/*========================================================================= + + Program: Insight Segmentation & Registration Toolkit + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + + Copyright (c) 2000 National Library of Medicine + All rights reserved. + + See COPYRIGHT.txt for copyright details. + +=========================================================================*/ +#ifndef cmCabilInstantiateClassCommand_h +#define cmCabilInstantiateClassCommand_h + +#include "cmStandardIncludes.h" +#include "cmCabilInstantiateCommand.h" + +/** \class cmCabilInstantiateClassCommand + * \brief Define a command that generates a rule for explicit template + * instantiations of classes. + * + * cmCabilInstantiateCommand is used to generate a rule in a CABIL + * configuration file to create explicit template instantiations of + * classes. + */ +class cmCabilInstantiateClassCommand : public cmCabilInstantiateCommand +{ +public: + /** + * This is a virtual constructor for the command. + */ + virtual cmCommand* Clone() + { + return new cmCabilInstantiateClassCommand; + } + + /** + * The name of the command as specified in CMakeList.txt. + */ + virtual const char* GetName() { return "CABIL_INSTANTIATE_CLASS";} + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() + { + return "Define CABIL InstantiationSet of classes."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() + { + return + "CABIL_INSTANTIATE_CLASS(cabil_config_file member1 member2 ...)\n" + "Generates an InstantiationSet in the CABIL configuration. It is\n" + "assumed that all members of the set are explicit instantiations of\n" + "template classes (not functions, operators, etc)."; + } + + virtual void WriteConfiguration(std::ostream&) const; + + cmTypeMacro(cmCabilInstantiateClassCommand, cmCabilInstantiateCommand); +protected: + typedef cmCabilInstantiateCommand::Elements Elements; +}; + + + +#endif |