Lines Matching refs:first
49 template <typename InputIt> std::string encode(InputIt first, InputIt last) {
51 size_t len = last - first;
59 while (first != j) {
60 uint32_t n = static_cast<uint8_t>(*first++) << 16;
61 n += static_cast<uint8_t>(*first++) << 8;
62 n += static_cast<uint8_t>(*first++);
70 uint32_t n = static_cast<uint8_t>(*first++) << 16;
71 n += static_cast<uint8_t>(*first++) << 8;
77 uint32_t n = static_cast<uint8_t>(*first++) << 16;
89 OutputIt encode(InputIt first, InputIt last, OutputIt d_first) {
90 size_t len = last - first;
97 while (first != j) {
98 uint32_t n = static_cast<uint8_t>(*first++) << 16;
99 n += static_cast<uint8_t>(*first++) << 8;
100 n += static_cast<uint8_t>(*first++);
109 uint32_t n = static_cast<uint8_t>(*first++) << 16;
110 n += static_cast<uint8_t>(*first++) << 8;
118 uint32_t n = static_cast<uint8_t>(*first++) << 16;
130 InputIt next_decode_input(InputIt first, InputIt last, const int *tbl) {
131 for (; first != last; ++first) {
132 if (tbl[static_cast<size_t>(*first)] != -1 || *first == '=') {
136 return first;
140 OutputIt decode(InputIt first, InputIt last, OutputIt d_first) {
157 assert(std::distance(first, last) % 4 == 0);
159 for (; first != last;) {
161 for (int i = 1; i <= 4; ++i, ++first) {
162 auto idx = INDEX_TABLE[static_cast<size_t>(*first)];
168 if (*first == '=' && *(first + 1) == '=' && first + 2 == last) {
174 if (*first == '=' && first + 1 == last) {
193 template <typename InputIt> std::string decode(InputIt first, InputIt last) {
194 auto len = std::distance(first, last);
201 res.erase(decode(first, last, std::begin(res)), std::end(res));
207 StringRef decode(BlockAllocator &balloc, InputIt first, InputIt last) {
208 auto len = std::distance(first, last);
215 p = decode(first, last, p);