26 assert(dtype() == DT);
33 assert(dtype() == DT);
37template <loco::DataType DT>
40 assert(dtype() == DT);
41 assert(n < size<DT>());
47 assert(dtype() == DT);
48 assert(n < size<DT>());
52template <loco::DataType DT>
55 assert(dtype() == DT);
61 assert(dtype() == DT);
65#define INSTANTIATE(DT) \
66 template uint32_t CircleConst::size<DT>(void) const; \
67 template void CircleConst::size<DT>(uint32_t); \
68 template const typename loco::DataTypeImpl<DT>::Type &CircleConst::at<DT>(uint32_t) const; \
69 template typename loco::DataTypeImpl<DT>::Type &CircleConst::at<DT>(uint32_t); \
70 template const typename loco::DataTypeImpl<DT>::Type &CircleConst::scalar<DT>(void) const; \
71 template typename loco::DataTypeImpl<DT>::Type &CircleConst::scalar<DT>(void);
88template <> uint32_t CircleConst::size<loco::DataType::STRING>(
void)
const
90 assert(dtype() == loco::DataType::STRING);
91 assert(_data.size() == 0);
92 return _strings.size();
95template <>
void CircleConst::size<loco::DataType::STRING>(uint32_t l)
97 assert(dtype() == loco::DataType::STRING);
98 assert(_data.size() == 0);
102template <>
const std::string &CircleConst::at<loco::DataType::STRING>(uint32_t n)
const
104 assert(dtype() == loco::DataType::STRING);
105 assert(n < _strings.size());
106 return _strings.at(n);
109template <> std::string &CircleConst::at<loco::DataType::STRING>(uint32_t n)
111 assert(dtype() == loco::DataType::STRING);
112 assert(n < _strings.size());
113 return _strings.at(n);
116template <>
const std::string &CircleConst::scalar<loco::DataType::STRING>(
void)
const
118 assert(dtype() == loco::DataType::STRING);
119 assert(1 == _strings.size());
120 return _strings.at(0);
123template <> std::string &CircleConst::scalar<loco::DataType::STRING>(
void)
125 assert(dtype() == loco::DataType::STRING);
126 assert(1 == _strings.size());
127 return _strings.at(0);
const loco::DataTypeImpl< DT >::Type & scalar(void) const
const loco::DataTypeImpl< DT >::Type & at(uint32_t n) const
uint32_t size(void) const
C++ scalar type corresponding to each DataType.