30 lines
		
	
	
		
			794 B
		
	
	
	
		
			OpenEdge ABL
		
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			794 B
		
	
	
	
		
			OpenEdge ABL
		
	
	
|  | // A base class | ||
|  | virtual class MyBase {
 | ||
|  | }; | ||
|  | 
 | ||
|  | // A templated class | ||
|  | template<T = {gtsam::Point2, gtsam::Matrix, A}> | ||
|  | virtual class MyTemplate : MyBase {
 | ||
|  |   MyTemplate(); | ||
|  | 
 | ||
|  |   template<ARG = {gtsam::Point2, gtsam::Point3, gtsam::Vector, gtsam::Matrix}> | ||
|  |   ARG templatedMethod(const ARG& t); | ||
|  | 
 | ||
|  |   // Stress test templates and pointer combinations | ||
|  |   void accept_T(const T& value) const; | ||
|  |   void accept_Tptr(T* value) const; | ||
|  |   T* return_Tptr(T* value) const; | ||
|  |   T  return_T(T@ value) const; | ||
|  |   pair<T*,T*> create_ptrs () const; | ||
|  |   pair<T ,T*> create_MixedPtrs () const; | ||
|  |   pair<T*,T*> return_ptrs (T* p1, T* p2) const; | ||
|  | 
 | ||
|  |   static This Level(const T& K); | ||
|  | }; | ||
|  | 
 | ||
|  | 
 | ||
|  | virtual class ForwardKinematicsFactor : gtsam::BetweenFactor<gtsam::Pose3> {}; | ||
|  | 
 | ||
|  | template <T = {double}> | ||
|  | virtual class ParentHasTemplate : MyTemplate<T> {}; |