1 #ifndef OPENPOSE_CORE_ARRAY_HPP
2 #define OPENPOSE_CORE_ARRAY_HPP
6 #include <opencv2/core/core.hpp>
30 explicit Array(
const int size);
38 explicit Array(
const std::vector<int>& sizes = {});
47 Array(
const int size,
const T value);
56 Array(
const std::vector<int>& sizes,
const T value);
106 void reset(
const int size);
115 void reset(
const std::vector<int>& sizes = {});
124 void reset(
const int size,
const T value);
134 void reset(
const std::vector<int>& sizes,
const T value);
141 void setFrom(
const cv::Mat& cvMat);
148 void setTo(
const T value);
159 return (mVolume == 0);
185 int getSize(
const int index)
const;
213 size_t getVolume(
const int indexA,
const int indexB)
const;
272 return spData.get()[index];
288 return spData.get()[index];
314 inline const T&
operator[](
const std::vector<int>& indexes)
const
326 inline T&
at(
const int index)
328 return commonAt(index);
338 inline const T&
at(
const int index)
const
340 return commonAt(index);
350 inline T&
at(
const std::vector<int>& indexes)
352 return at(getIndexAndCheck(indexes));
362 inline const T&
at(
const std::vector<int>& indexes)
const
364 return at(getIndexAndCheck(indexes));
382 std::vector<int> mSize;
384 std::shared_ptr<T> spData;
385 std::pair<bool, cv::Mat> mCvMatData;
394 int getIndex(
const std::vector<int>& indexes)
const;
403 int getIndexAndCheck(
const std::vector<int>& indexes)
const;
410 T& commonAt(
const int index)
const;
416 void setCvMatFromSharedPtr();
423 #endif // OPENPOSE_CORE_ARRAY_HPP
const cv::Mat & getConstCvMat() const
T & operator[](const std::vector< int > &indexes)
Definition: array.hpp:302
T & at(const int index)
Definition: array.hpp:326
void setFrom(const cv::Mat &cvMat)
Array< T > & operator=(const Array< T > &array)
size_t getNumberDimensions() const
Definition: array.hpp:191
const T & at(const std::vector< int > &indexes) const
Definition: array.hpp:362
void setTo(const T value)
const T & at(const int index) const
Definition: array.hpp:338
#define OVERLOAD_C_OUT(className)
Definition: macros.hpp:51
T * getPtr()
Definition: array.hpp:224
bool empty() const
Definition: array.hpp:157
size_t getVolume() const
Definition: array.hpp:201
T & operator[](const int index)
Definition: array.hpp:269
void reset(const int size)
const T & operator[](const std::vector< int > &indexes) const
Definition: array.hpp:314
const T * getConstPtr() const
Definition: array.hpp:233
const std::string toString() const
std::string printSize() const
const T & operator[](const int index) const
Definition: array.hpp:285
T & at(const std::vector< int > &indexes)
Definition: array.hpp:350
std::vector< int > getSize() const
Definition: array.hpp:167