diff options
author | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-28 18:31:01 +0000 |
---|---|---|
committer | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-28 18:31:01 +0000 |
commit | cdb6fd66611283a0314ab23e08472d11dae4f0e4 (patch) | |
tree | fd6ae8c3db752254802dfaafd1543974a4741e47 /TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp | |
parent | f984aa2bff444f381570d2f97ac9ba958926fb6b (diff) | |
download | ATCD-cdb6fd66611283a0314ab23e08472d11dae4f0e4.tar.gz |
ChangeLogTag:Tue Oct 28 12:02:47 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp index 82e0aa4be8b..cac9f2c4219 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp @@ -56,6 +56,22 @@ be_visitor_valuetype_any_op_cs::visit_valuetype (be_valuetype *node) *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + // All template specializations must be generated before the instantiations + // in the operators. + *os << be_nl << be_nl + << "template<>" << be_nl + << "ACE_INLINE" << be_nl + << "CORBA::Boolean" << be_nl + << "TAO::Any_Impl_T<" << node->name () << ">::to_value (" + << be_idt << be_idt_nl + << "CORBA::ValueBase *&_tao_elem" << be_uidt_nl + << ") const" << be_uidt_nl + << "{" << be_idt_nl + << "CORBA::add_ref (this->value_);" << be_nl + << "_tao_elem = this->value_;" << be_nl + << "return 1;" << be_uidt_nl + << "}"; + *os << "// Copying insertion." << be_nl << "void" << be_nl << "operator<<= (" << be_idt << be_idt_nl @@ -99,16 +115,6 @@ be_visitor_valuetype_any_op_cs::visit_valuetype (be_valuetype *node) << ");" << be_uidt << be_uidt << be_uidt_nl << "}" << be_nl << be_nl; - *os << "#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \\" - << be_idt_nl - << " defined (ACE_HAS_GNU_REPO)" << be_nl - << "template class TAO::Any_Impl_T<" << node->full_name () - << ">;" << be_uidt_nl - << "#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)" << be_nl - << "# pragma instantiate TAO::Any_Impl_T<" << node->full_name () - << ">" << be_uidt_nl - << "#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */"; - node->cli_stub_any_op_gen (1); return 0; } |