File size: 1,120 Bytes
7fc5a59 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #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 // OPENPOSE_UTILITIES_POINTER_CONTAINER_HPP
|