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 |