xdrpp
RFC4506 XDR compiler and message library
Classes | Static Public Member Functions | List of all members
xdr::marshal_base Struct Reference

Common utility types and functions for all the marshaling classes. More...

#include <marshal.h>

Inheritance diagram for xdr::marshal_base:
Inheritance graph
[legend]

Classes

struct  u64conv
 

Static Public Member Functions

static void get_bytes (const std::uint32_t *&pr, void *buf, std::size_t len)
 Copy len bytes to buf, then consume 0-3 bytes of padding to make the total number of bytes consumed divisible by 4. More...
 
static void put_bytes (std::uint32_t *&pr, const void *buf, std::size_t len)
 Copy len bytes from buf, then add 0-3 zero-valued padding bytes to make the overall marshaled length a multiple of 4. More...
 

Detailed Description

Common utility types and functions for all the marshaling classes.

Definition at line 19 of file marshal.h.

Member Function Documentation

◆ get_bytes()

void xdr::marshal_base::get_bytes ( const std::uint32_t *&  pr,
void *  buf,
std::size_t  len 
)
static

Copy len bytes to buf, then consume 0-3 bytes of padding to make the total number of bytes consumed divisible by 4.

Exceptions
xdr_should_be_zeroif the padding bytes are not zero.

Definition at line 25 of file marshal.cc.

◆ put_bytes()

void xdr::marshal_base::put_bytes ( std::uint32_t *&  pr,
const void *  buf,
std::size_t  len 
)
static

Copy len bytes from buf, then add 0-3 zero-valued padding bytes to make the overall marshaled length a multiple of 4.

Definition at line 39 of file marshal.cc.


The documentation for this struct was generated from the following files: