What is the expected use case of a RapidVector? What does it do that std::vector<T>
doesn’t do?
RapidVector
is a wrapper for std::vector
designed to ensure ABI stability across compilers and enable seamless cross-language support (e.g., C#, Python via SWIG). Unlike std::vector
, it guarantees compatibility regardless of the customer’s compiler. It simplifies interaction with vector-like containers in multi-language or cross-compiler scenarios while avoiding std::vector
’s ABI and interoperability limitations.
Is there a reason that I, as a C++ developer, would want/need to use this?
Only when dealing with RapidCode methods that use RapidVector, such as
Robot::PathPlannedPositionsGet. It will also be used in the upcoming RtTasks releases.
https://support.roboticsys.com/rmp/class_r_s_i_1_1_rapid_code_1_1_cartesian_1_1_robot_a33c5c0394298e8b78f4fc30aec35ba74.html#a33c5c0394298e8b78f4fc30aec35ba74