| 71 | //! Initialize using begin and end iterators to byte data. |
| 72 | template <typename T> |
| 73 | void Set(const T pbegin, const T pend, bool fCompressedIn) |
| 74 | { |
| 75 | if (size_t(pend - pbegin) != keydata.size()) { |
| 76 | fValid = false; |
| 77 | } else if (Check(&pbegin[0])) { |
| 78 | memcpy(keydata.data(), (unsigned char*)&pbegin[0], keydata.size()); |
| 79 | fValid = true; |
| 80 | fCompressed = fCompressedIn; |
| 81 | } else { |
| 82 | fValid = false; |
| 83 | } |
| 84 | } |
| 85 | |
| 86 | //! Simple read-only vector-like interface. |
| 87 | unsigned int size() const { return (fValid ? keydata.size() : 0); } |
no test coverage detected