Electroneum
Loading...
Searching...
No Matches
varint.cpp File Reference
#include <cstring>
#include <cstdint>
#include <cstdio>
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
#include "cryptonote_basic/cryptonote_basic.h"
#include "cryptonote_basic/cryptonote_basic_impl.h"
#include "serialization/binary_archive.h"
#include "serialization/json_archive.h"
#include "serialization/debug_archive.h"
#include "serialization/variant.h"
#include "serialization/vector.h"
#include "serialization/binary_utils.h"
#include "gtest/gtest.h"
Include dependency graph for varint.cpp:

Go to the source code of this file.

Functions

 TEST (varint, equal)

Function Documentation

◆ TEST()

TEST ( varint ,
equal  )

Definition at line 49 of file varint.cpp.

50{
51 for (uint64_t idx = 0; idx < 65537; ++idx)
52 {
53 char buf[12];
54 char *bufptr = buf;
55 tools::write_varint(bufptr, idx);
56 uint64_t bytes = bufptr - buf;
57 ASSERT_TRUE (bytes > 0 && bytes <= sizeof(buf));
58
59 uint64_t idx2;
60 bufptr = buf;
61 std::string s(buf, bytes);
62 int read = tools::read_varint(s.begin(), s.end(), idx2);
63 ASSERT_EQ (read, bytes);
64 ASSERT_TRUE(idx2 == idx);
65 }
66}
#define ASSERT_EQ(val1, val2)
Definition gtest.h:1956
#define ASSERT_TRUE(condition)
Definition gtest.h:1865
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value &&0<=bits &&bits<=std::numeric_limits< T >::digits, int >::type read_varint(InputIt &&first, InputIt &&last, T &write)
reads in the varint that is pointed to by InputIt into write
Definition varint.h:95
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value, void >::type write_varint(OutputIt &&dest, T i)
writes a varint to a stream.
Definition varint.h:70
const char * buf
unsigned __int64 uint64_t
Definition stdint.h:136
Here is the call graph for this function: