lokinet/llarp/buffer.hpp

43 lines
775 B
C++
Raw Normal View History

2018-05-21 13:17:07 +00:00
#ifndef LLARP_BUFFER_HPP
#define LLARP_BUFFER_HPP
#include <llarp/buffer.h>
namespace llarp
{
/** initialize llarp_buffer_t from stack allocated buffer */
template < typename T >
void
StackBuffer(llarp_buffer_t& buff, T& stack)
{
buff.base = stack;
buff.cur = buff.base;
buff.sz = sizeof(stack);
}
template < typename T >
llarp_buffer_t
StackBuffer(T& stack)
2018-05-21 13:17:07 +00:00
{
llarp_buffer_t buff;
2018-06-06 12:46:26 +00:00
buff.base = &stack[0];
buff.cur = buff.base;
buff.sz = sizeof(stack);
2018-05-21 13:17:07 +00:00
return buff;
}
/** initialize llarp_buffer_t from container */
template < typename T >
llarp_buffer_t
Buffer(T& t)
{
llarp_buffer_t buff;
buff.base = &t[0];
buff.cur = buff.base;
buff.sz = t.size();
return buff;
}
}
2018-05-21 13:17:07 +00:00
#endif