summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cppe/Gen.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-01-30 13:35:54 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-01-30 13:35:54 +0000
commitec35e73083a6a706cedcdf28fbe76a0eba9fe332 (patch)
tree6b560ba1f08591895900e541041d3aeeacaff358 /cpp/src/slice2cppe/Gen.cpp
parentMinor fixes to previous fix (diff)
downloadice-ec35e73083a6a706cedcdf28fbe76a0eba9fe332.tar.bz2
ice-ec35e73083a6a706cedcdf28fbe76a0eba9fe332.tar.xz
ice-ec35e73083a6a706cedcdf28fbe76a0eba9fe332.zip
Make alternate sequence class not require template
Diffstat (limited to 'cpp/src/slice2cppe/Gen.cpp')
-rw-r--r--cpp/src/slice2cppe/Gen.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/src/slice2cppe/Gen.cpp b/cpp/src/slice2cppe/Gen.cpp
index 627d1d12560..761f3dce990 100644
--- a/cpp/src/slice2cppe/Gen.cpp
+++ b/cpp/src/slice2cppe/Gen.cpp
@@ -769,15 +769,17 @@ void
Slice::Gen::TypesVisitor::visitSequence(const SequencePtr& p)
{
string name = fixKwd(p->name());
- TypePtr type = p->type();
- string s = typeToString(type);
+
StringList metaData = p->getMetaData();
string seqType = findMetaData(metaData);
- if(!seqType.empty())
+ if(!seqType.empty() && seqType != "array")
{
- return;
+ H << sp << nl << "typedef " << seqType << ' ' << name << ';';
+ return;
}
-
+
+ TypePtr type = p->type();
+ string s = typeToString(type);
H << sp << nl << "typedef ::std::vector<" << (s[0] == ':' ? " " : "") << s << "> " << name << ';';
BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);