1 #ifndef OPENPOSE_CORE_ARRAY_HPP
2 #define OPENPOSE_CORE_ARRAY_HPP
6 #include <opencv2/core/core.hpp>
28 explicit Array(
const int size);
35 explicit Array(
const std::vector<int>& sizes = {});
43 Array(
const int size,
const T value);
51 Array(
const std::vector<int>& sizes,
const T value);
98 void reset(
const int size);
105 void reset(
const std::vector<int>& sizes = {});
113 void reset(
const int size,
const T value);
121 void reset(
const std::vector<int>& sizes,
const T value);
128 void setFrom(
const cv::Mat& cvMat);
135 void setTo(
const T value);
146 return (mVolume == 0);
163 int getSize(
const int index)
const;
189 size_t getVolume(
const int indexA,
const int indexB)
const;
244 return spData.get()[index];
259 return spData.get()[index];
283 inline const T&
operator[](
const std::vector<int>& indexes)
const
294 inline T&
at(
const int index)
296 return commonAt(index);
305 inline const T&
at(
const int index)
const
307 return commonAt(index);
316 inline T&
at(
const std::vector<int>& indexes)
318 return at(getIndexAndCheck(indexes));
327 inline const T&
at(
const std::vector<int>& indexes)
const
329 return at(getIndexAndCheck(indexes));
347 std::vector<int> mSize;
349 std::shared_ptr<T> spData;
350 std::pair<bool, cv::Mat> mCvMatData;
358 int getIndex(
const std::vector<int>& indexes)
const;
366 int getIndexAndCheck(
const std::vector<int>& indexes)
const;
373 T& commonAt(
const int index)
const;
378 void setCvMatFromSharedPtr();
382 #endif // OPENPOSE_CORE_ARRAY_HPP
const cv::Mat & getConstCvMat() const
T & operator[](const std::vector< int > &indexes)
Definition: array.hpp:272
T & at(const int index)
Definition: array.hpp:294
void setFrom(const cv::Mat &cvMat)
Array< T > & operator=(const Array< T > &array)
size_t getNumberDimensions() const
Definition: array.hpp:169
const T & at(const std::vector< int > &indexes) const
Definition: array.hpp:327
void setTo(const T value)
const T & at(const int index) const
Definition: array.hpp:305
T * getPtr()
Definition: array.hpp:200
bool empty() const
Definition: array.hpp:144
size_t getVolume() const
Definition: array.hpp:179
T & operator[](const int index)
Definition: array.hpp:241
void reset(const int size)
const T & operator[](const std::vector< int > &indexes) const
Definition: array.hpp:283
const T * getConstPtr() const
Definition: array.hpp:209
const std::string toString() const
const T & operator[](const int index) const
Definition: array.hpp:256
T & at(const std::vector< int > &indexes)
Definition: array.hpp:316
std::vector< int > getSize() const
Definition: array.hpp:153