diff options
author | Dan Goodliffe <daniel.goodliffe@pressassociation.com> | 2016-10-05 16:15:56 +0100 |
---|---|---|
committer | Dan Goodliffe <daniel.goodliffe@pressassociation.com> | 2016-10-05 16:15:56 +0100 |
commit | 15e866702806b941dedb8dff94342528c9cd0b69 (patch) | |
tree | 4a9c2df0f866c3f3f2678d863231dfef00f64f12 | |
parent | Don't assume absolute class name (diff) | |
download | slicer-15e866702806b941dedb8dff94342528c9cd0b69.tar.bz2 slicer-15e866702806b941dedb8dff94342528c9cd0b69.tar.xz slicer-15e866702806b941dedb8dff94342528c9cd0b69.zip |
Use single instantiation point for model part roots
-rw-r--r-- | slicer/slicer/modelPartsTypes.cpp | 18 | ||||
-rw-r--r-- | slicer/slicer/modelPartsTypes.impl.h | 2 | ||||
-rw-r--r-- | slicer/tool/parser.cpp | 3 |
3 files changed, 2 insertions, 21 deletions
diff --git a/slicer/slicer/modelPartsTypes.cpp b/slicer/slicer/modelPartsTypes.cpp index bc3810c..7cf508e 100644 --- a/slicer/slicer/modelPartsTypes.cpp +++ b/slicer/slicer/modelPartsTypes.cpp @@ -28,24 +28,6 @@ namespace Slicer { template<> const std::string Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Int>>::rootName = "OptionalInt"; template<> const std::string Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Long>>::rootName = "OptionalLong"; - template class Slicer::ModelPartForRoot<std::string>; - template class Slicer::ModelPartForRoot<bool>; - template class Slicer::ModelPartForRoot<Ice::Float>; - template class Slicer::ModelPartForRoot<Ice::Double>; - template class Slicer::ModelPartForRoot<Ice::Byte>; - template class Slicer::ModelPartForRoot<Ice::Short>; - template class Slicer::ModelPartForRoot<Ice::Int>; - template class Slicer::ModelPartForRoot<Ice::Long>; - - template class Slicer::ModelPartForRoot<IceUtil::Optional<std::string>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<bool>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Float>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Double>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Byte>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Short>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Int>>; - template class Slicer::ModelPartForRoot<IceUtil::Optional<Ice::Long>>; - // ModelPartForRootBase ModelPartForRootBase::ModelPartForRootBase(ModelPartPtr m) : mp(m) diff --git a/slicer/slicer/modelPartsTypes.impl.h b/slicer/slicer/modelPartsTypes.impl.h index 5788c3f..c34b482 100644 --- a/slicer/slicer/modelPartsTypes.impl.h +++ b/slicer/slicer/modelPartsTypes.impl.h @@ -10,6 +10,8 @@ #define CUSTOMMODELPARTFOR(Type, BaseModelPart, ModelPartType) \ template class BaseModelPart; \ + template class ModelPartForRoot<Type>; \ + template class ModelPartForRoot< IceUtil::Optional<Type> >; \ template<> ModelPartPtr ModelPart::CreateFor(Type & s) { return new ModelPartType(s); } \ template<> ModelPartPtr ModelPart::CreateFor(IceUtil::Optional<Type> & s) { return new ModelPartForOptional<ModelPartType>(s); } \ template<> ModelPartForRootPtr ModelPart::CreateRootFor(Type & s) { return new ModelPartForRoot<Type>(s); } \ diff --git a/slicer/tool/parser.cpp b/slicer/tool/parser.cpp index d61c8a6..7613ab6 100644 --- a/slicer/tool/parser.cpp +++ b/slicer/tool/parser.cpp @@ -169,9 +169,6 @@ namespace Slicer { fprintbf(cpp, "template<> DLL_PUBLIC\n"); fprintbf(cpp, "const std::string ModelPartForRoot< IceUtil::Optional< %s > >::rootName(\"Optional%s\");\n\n", type, name); - - fprintbf(cpp, "template class ModelPartForRoot< %s >;\n\n", type); - fprintbf(cpp, "template class ModelPartForRoot< IceUtil::Optional< %s > >;\n\n", type); } bool |