This file is indexed.

/usr/include/zmqpp/frame.hpp is in libzmqpp-dev 4.1.2-0ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file is part of zmqpp.
 * Copyright (c) 2011-2015 Contributors as noted in the AUTHORS file.
 */

/**
 * \file
 *
 * \date   8 Jan 2014
 * \author Ben Gray (\@benjamg)
 */

#ifndef ZMQPP_MESSAGE_FRAME_HPP_
#define ZMQPP_MESSAGE_FRAME_HPP_

#include <zmq.h>

#include "compatibility.hpp"

namespace zmqpp {

/*!
 * \brief an internal frame wrapper for a single zmq message
 *
 * This frame wrapper consists of a zmq message and meta data it is used
 * by the zmqpp message class to keep track of parts in the internal
 * queue. It is unlikely you need to use this class.
 */
class frame
{
public:
	frame();
	frame(size_t const size);
	frame(void const* part, size_t const size);
	frame(void* part, size_t const size, zmq_free_fn *ffn, void *hint);

	~frame();

	bool is_sent() const { return _sent; }
	void const* data() const { return zmq_msg_data( const_cast<zmq_msg_t*>(&_msg) ); }
	size_t size() const { return zmq_msg_size( const_cast<zmq_msg_t*>(&_msg) ); }

	void mark_sent() { _sent = true; }
	zmq_msg_t& msg() { return _msg; }

	// Move operators
	frame(frame&& other);
	frame& operator=(frame&& other);

	frame copy() const;

private:
	bool _sent;
	zmq_msg_t _msg;

	// Disable implicit copy support, code must request a copy to clone
	frame(frame const&) NOEXCEPT ZMQPP_EXPLICITLY_DELETED;
	frame& operator=(frame const&) NOEXCEPT ZMQPP_EXPLICITLY_DELETED;
};

} // namespace zmqpp

#endif /* ZMQPP_MESSAGE_FRAME_HPP_ */