Changeset 193:a45e41f32221 in rrlib_math


Ignore:
Timestamp:
09.03.2020 22:47:34 (4 months ago)
Author:
Max Reichardt <mreichardt@…>
Branch:
17.03
Phase:
public
Message:

Adds explicit template rrlib_rtti tDataTypeInfo instantiations for various angle types (this makes the rrlib_math binary slightly bigger, but all dependents considerably smaller)

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • angle/rtti.h

    r192 r193  
    152152 
    153153//---------------------------------------------------------------------- 
     154// Explicit template instantiation 
     155//---------------------------------------------------------------------- 
     156 
     157extern template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Radian, math::angle::Signed>>; 
     158extern template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Degree, math::angle::Signed>>; 
     159extern template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Radian, math::angle::Unsigned>>; 
     160extern template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Degree, math::angle::Unsigned>>; 
     161extern template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Radian, math::angle::NoWrap>>; 
     162extern template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Degree, math::angle::NoWrap>>; 
     163extern template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Radian, math::angle::Signed>>; 
     164extern template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Degree, math::angle::Signed>>; 
     165extern template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Radian, math::angle::Unsigned>>; 
     166extern template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Degree, math::angle::Unsigned>>; 
     167extern template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Radian, math::angle::NoWrap>>; 
     168extern template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Degree, math::angle::NoWrap>>; 
     169 
     170extern template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Radian, math::angle::Signed>>>; 
     171extern template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Degree, math::angle::Signed>>>; 
     172extern template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Radian, math::angle::Unsigned>>>; 
     173extern template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Degree, math::angle::Unsigned>>>; 
     174extern template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Radian, math::angle::NoWrap>>>; 
     175extern template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Degree, math::angle::NoWrap>>>; 
     176extern template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Radian, math::angle::Signed>>>; 
     177extern template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Degree, math::angle::Signed>>>; 
     178extern template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Radian, math::angle::Unsigned>>>; 
     179extern template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Degree, math::angle::Unsigned>>>; 
     180extern template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Radian, math::angle::NoWrap>>>; 
     181extern template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Degree, math::angle::NoWrap>>>; 
     182 
     183//---------------------------------------------------------------------- 
    154184// End of namespace declaration 
    155185//---------------------------------------------------------------------- 
  • rtti.cpp

    r192 r193  
    7676                                    Add<tAngle<double, angle::Radian, angle::NoWrap>>(/*"rrlib.math.AngleRadNoWrap"*/); 
    7777 
    78  
    7978util::tManagedConstCharPointer GetRRLibRttiAngleTypeName(const tType& type) 
    8079{ 
     
    116115 
    117116} 
     117 
     118namespace rtti 
     119{ 
     120template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Radian, math::angle::Signed>>; 
     121template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Degree, math::angle::Signed>>; 
     122template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Radian, math::angle::Unsigned>>; 
     123template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Degree, math::angle::Unsigned>>; 
     124template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Radian, math::angle::NoWrap>>; 
     125template class detail::tDataTypeInfo<math::tAngle<double, math::angle::Degree, math::angle::NoWrap>>; 
     126template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Radian, math::angle::Signed>>; 
     127template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Degree, math::angle::Signed>>; 
     128template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Radian, math::angle::Unsigned>>; 
     129template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Degree, math::angle::Unsigned>>; 
     130template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Radian, math::angle::NoWrap>>; 
     131template class detail::tDataTypeInfo<math::tAngle<float, math::angle::Degree, math::angle::NoWrap>>; 
     132 
     133template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Radian, math::angle::Signed>>>; 
     134template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Degree, math::angle::Signed>>>; 
     135template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Radian, math::angle::Unsigned>>>; 
     136template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Degree, math::angle::Unsigned>>>; 
     137template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Radian, math::angle::NoWrap>>>; 
     138template class detail::tDataTypeInfo<std::vector<math::tAngle<double, math::angle::Degree, math::angle::NoWrap>>>; 
     139template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Radian, math::angle::Signed>>>; 
     140template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Degree, math::angle::Signed>>>; 
     141template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Radian, math::angle::Unsigned>>>; 
     142template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Degree, math::angle::Unsigned>>>; 
     143template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Radian, math::angle::NoWrap>>>; 
     144template class detail::tDataTypeInfo<std::vector<math::tAngle<float, math::angle::Degree, math::angle::NoWrap>>>; 
     145} 
     146 
    118147} 
    119148 
Note: See TracChangeset for help on using the changeset viewer.