| 
    Jafar
   
    
   
   | 
  
  
  
 
Definition in file parents.hpp.
Go to the source code of this file.
Classes | |
| class | jafar::rtslam::ParentOf< Child > | 
| class | jafar::rtslam::ChildOf< Parent > | 
| class | jafar::rtslam::SpecificChildOf< Parent > | 
| class | jafar::rtslam::WeakParentOf< Child > | 
| class | jafar::rtslam::WeakParentOf< Child >::generic_iterator< basic_iterator > | 
| struct | jafar::rtslam::WeakParentOf< Child >::WeakPtrComparison | 
Namespaces | |
| namespace | jafar | 
Transport info from GDAL Datasets to Bands' internal data.  | |
| namespace | jafar::rtslam | 
Namespace rtslam for real-time slam module.  | |
Defines | |
| #define | ENABLE_ACCESS_TO_CHILDREN(Child, typeName, accessName) | 
| #define | ENABLE_LINK_TO_FATHER(Parent, Child) | 
| #define | ENABLE_LINK_TO_PARENT(Parent, name, Child) | 
| #define | ENABLE_ACCESS_TO_FATHER(Parent) | 
| #define | ENABLE_ACCESS_TO_PARENT(Parent, accessName) | 
| #define | ENABLE_LINK_TO_SPECIFIC_FATHER(ParentGen, ParentSpec, Child) | 
| Connect the link to the Parent, and register into parent.   | |
| #define | ENABLE_LINK_TO_SPECIFIC_PARENT(ParentGen, ParentSpec, name, Child) | 
| #define | ENABLE_ACCESS_TO_SPECIFIC_PARENT(Parent, accessName) | 
| #define | ENABLE_ACCESS_TO_WEAK_CHILDREN(Child, typeName, accessName) | 
| #define | ENABLE_LINK_TO_WEAK_PARENT(Parent, Child) | 
| #define | UNREGISTER_FROM_WEAK_PARENT(Parent) | 
| #define | ENABLE_LINK_TO_WEAK_SPECIFIC_PARENT(ParentAbs, ParentSpec, ChildAbs, ChildSpec, name) | 
| #define | UNREGISTER_FROM_WEAK_SPECIFIC_PARENT(Parent, Child) | 
| #define ENABLE_ACCESS_TO_CHILDREN | ( | Child, | |
| typeName, | |||
| accessName | |||
| ) | 
public: typedef ParentOf<Child>::ChildList typeName##List; \ typeName##List & accessName##List( void ) \ { return ParentOf<Child>::childList; } \ const typeName##List & accessName##List( void ) const \ { return ParentOf<Child>::childList; } \
Definition at line 75 of file parents.hpp.
| #define ENABLE_ACCESS_TO_FATHER | ( | Parent | ) | 
public: \ boost::shared_ptr<Parent> father##Ptr( void ) \ { return ChildOf<Parent>::parentPtr(); } \ const boost::shared_ptr<Parent> father##Ptr( void ) const \ { return ChildOf<Parent>::parentPtr(); } \ Parent& father( void ) \ { return ChildOf<Parent>::parent(); } \ const Parent& father( void ) const \ { return ChildOf<Parent>::parent(); }
Definition at line 183 of file parents.hpp.
| #define ENABLE_ACCESS_TO_PARENT | ( | Parent, | |
| accessName | |||
| ) | 
public: \ boost::shared_ptr<Parent> accessName##Ptr( void ) \ { return ChildOf<Parent>::parentPtr(); } \ const boost::shared_ptr<Parent> accessName##Ptr( void ) const \ { return ChildOf<Parent>::parentPtr(); } \ Parent& accessName( void ) \ { return ChildOf<Parent>::parent(); } \ const Parent& accessName( void ) const \ { return ChildOf<Parent>::parent(); }
Definition at line 197 of file parents.hpp.
| #define ENABLE_ACCESS_TO_SPECIFIC_PARENT | ( | Parent, | |
| accessName | |||
| ) | 
public: boost::shared_ptr<Parent> accessName##Ptr( void ) \ { return SpecificChildOf<Parent>::parentPtr(); } \ Parent& accessName( void ) \ { return SpecificChildOf<Parent>::parent(); } \ const Parent& accessName( void ) const \ { return SpecificChildOf<Parent>::parent(); }
Definition at line 326 of file parents.hpp.
| #define ENABLE_ACCESS_TO_WEAK_CHILDREN | ( | Child, | |
| typeName, | |||
| accessName | |||
| ) | 
public: typedef WeakParentOf<Child>::ChildList typeName##List; \ typeName##List & accessName##List( void ) \ { return WeakParentOf<Child>::childList; } \ const typeName##List & accessName##List( void ) const \ { return WeakParentOf<Child>::childList; }
Definition at line 486 of file parents.hpp.
| #define ENABLE_LINK_TO_FATHER | ( | Parent, | |
| Child | |||
| ) | 
public: void linkToParent( boost::shared_ptr<Parent> ptr ) \ { \ ChildOf<Parent>::linkToParent(ptr); \ ptr->ParentOf<Child>::registerChild(shared_from_this()); \ }
Definition at line 163 of file parents.hpp.
| #define ENABLE_LINK_TO_PARENT | ( | Parent, | |
| name, | |||
| Child | |||
| ) | 
public: void linkToParent##name( boost::shared_ptr<Parent> ptr ) \ { \ ChildOf<Parent>::linkToParent(ptr); \ ptr->ParentOf<Child>::registerChild(shared_from_this()); \ }
Definition at line 172 of file parents.hpp.
| #define ENABLE_LINK_TO_SPECIFIC_FATHER | ( | ParentGen, | |
| ParentSpec, | |||
| Child | |||
| ) | 
public: void linkToParent( const boost::shared_ptr<ParentGen>& ptr ) \ { \ ChildOf<ParentGen>::linkToParent( ptr ); \ SpecificChildOf<ParentSpec>::linkToParentSpecific( ptr ); \ ptr->ParentOf<Child>::registerChild(shared_from_this()); \ } \ void linkToParent( const boost::shared_ptr<ParentSpec>& ptr ) \ { \ ChildOf<ParentGen>::linkToParent( ptr ); \ SpecificChildOf<ParentSpec>::linkToParentSpecific( ptr ); \ ptr->ParentOf<Child>::registerChild(shared_from_this()); \ }
Connect the link to the Parent, and register into parent.
To be defined as a public member of the child class. PRE:
Definition at line 295 of file parents.hpp.
| #define ENABLE_LINK_TO_SPECIFIC_PARENT | ( | ParentGen, | |
| ParentSpec, | |||
| name, | |||
| Child | |||
| ) | 
public: void linkToParent##name( const boost::shared_ptr<ParentGen>& ptr ) \ { \ ChildOf<ParentGen>::linkToParent( ptr ); \ SpecificChildOf<ParentSpec>::linkToParentSpecific( ptr ); \ ptr->ParentOf<Child>::registerChild(shared_from_this()); \ } \ void linkToParent##name( const boost::shared_ptr<ParentSpec>& ptr ) \ { \ ChildOf<ParentGen>::linkToParent( ptr ); \ SpecificChildOf<ParentSpec>::linkToParentSpecific( ptr ); \ ptr->ParentOf<Child>::registerChild(shared_from_this()); \ }
Definition at line 309 of file parents.hpp.
| #define ENABLE_LINK_TO_WEAK_PARENT | ( | Parent, | |
| Child | |||
| ) | 
void linkToWeakParent##Parent( boost::shared_ptr<Parent> ptr )  \
  {                 \
    ChildOf<Parent>::linkToParent(ptr);         \
    ptr->WeakParentOf<Child>::registerChild                             \
         (boost::enable_shared_from_this<Child>::shared_from_this()); \
  }
Definition at line 504 of file parents.hpp.
| #define ENABLE_LINK_TO_WEAK_SPECIFIC_PARENT | ( | ParentAbs, | |
| ParentSpec, | |||
| ChildAbs, | |||
| ChildSpec, | |||
| name | |||
| ) | 
void linkToWeakParent##name( boost::shared_ptr<ParentSpec> ptr )      \
  {                     \
    ChildOf<ParentSpec>::linkToParent(ptr);                                 \
    ptr->WeakParentOf<ChildSpec>::registerChild                             \
         (SPTR_CAST<ChildSpec>(shared_from_this()));      \
    ChildOf<ParentAbs>::linkToParent(ptr);                                  \
    ptr->WeakParentOf<ChildAbs>::registerChild(shared_from_this());         \
  }
Definition at line 565 of file parents.hpp.
| #define UNREGISTER_FROM_WEAK_PARENT | ( | Parent | ) | 
try { ChildOf<Parent>::parentPtr()->cleanExpired(); } \ catch(const char *e) { if (strcmp(e,"WEAK")) throw e; }
Definition at line 516 of file parents.hpp.
| #define UNREGISTER_FROM_WEAK_SPECIFIC_PARENT | ( | Parent, | |
| Child | |||
| ) | 
try { ChildOf<Parent>::parentPtr()->WeakParentOf<Child>::cleanExpired(); } \ catch(const char *e) { if (strcmp(e,"WEAK")) throw e; }
Definition at line 578 of file parents.hpp.
| Generated on Wed Oct 15 2014 00:37:29 for Jafar by doxygen 1.7.6.1 | 
 
 |