| #ifndef OPENPOSE_UTILITIES_POINTER_CONTAINER_HPP |
| #define OPENPOSE_UTILITIES_POINTER_CONTAINER_HPP |
|
|
| namespace op |
| { |
| template<typename TPointerContainer> |
| inline bool checkNoNullNorEmpty(const TPointerContainer& tPointerContainer) |
| { |
| return (tPointerContainer != nullptr && tPointerContainer->size() > 0); |
| } |
|
|
| template<typename TDatumsSP> |
| class PointerContainerGreater |
| { |
| public: |
| bool operator() (const TDatumsSP& a, const TDatumsSP& b) |
| { |
| if (!b || b->empty()) |
| return true; |
| else if (!a || a->empty()) |
| return false; |
| else |
| return *(*a)[0] > *(*b)[0]; |
| } |
| }; |
|
|
| template<typename TDatumsSP> |
| class PointerContainerLess |
| { |
| public: |
| bool operator() (const TDatumsSP& a, const TDatumsSP& b) |
| { |
| if (!b || b->empty()) |
| return false; |
| else if (!a || a->empty()) |
| return true; |
| else |
| return *(*a)[0] < *(*b)[0]; |
| } |
| }; |
| } |
|
|
| #endif |
|
|