Add forward declaration headers

This commit is contained in:
Mohammad Nejati
2024-10-15 12:12:48 +00:00
committed by Mohammad Nejati
parent 225a25b57c
commit 0078272001
51 changed files with 694 additions and 57 deletions

View File

@ -10,10 +10,12 @@
#ifndef BOOST_BEAST_HTTP_BASIC_DYNAMIC_BODY_HPP
#define BOOST_BEAST_HTTP_BASIC_DYNAMIC_BODY_HPP
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/basic_dynamic_body_fwd.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/core/detail/buffer.hpp>
#include <boost/beast/core/detail/clamp.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/optional.hpp>

View File

@ -0,0 +1,24 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_BASIC_DYNAMIC_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_BASIC_DYNAMIC_BODY_FWD_HPP
namespace boost {
namespace beast {
namespace http {
template<class DynamicBuffer>
struct basic_dynamic_body;
} // http
} // beast
} // boost
#endif

View File

@ -10,6 +10,8 @@
#ifndef BOOST_BEAST_HTTP_BASIC_FILE_BODY_HPP
#define BOOST_BEAST_HTTP_BASIC_FILE_BODY_HPP
#include <boost/beast/http/basic_file_body_fwd.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/error.hpp>
#include <boost/beast/core/file_base.hpp>

View File

@ -0,0 +1,24 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_BASIC_FILE_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_BASIC_FILE_BODY_FWD_HPP
namespace boost {
namespace beast {
namespace http {
template<class File>
struct basic_file_body;
} // http
} // beast
} // boost
#endif

View File

@ -10,15 +10,15 @@
#ifndef BOOST_BEAST_HTTP_BUFFER_BODY_HPP
#define BOOST_BEAST_HTTP_BUFFER_BODY_HPP
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/buffer_body_fwd.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/http/type_traits.hpp>
#include <boost/optional.hpp>
#include <cstdint>
#include <type_traits>
#include <utility>
namespace boost {

View File

@ -0,0 +1,23 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_BUFFER_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_BUFFER_BODY_FWD_HPP
namespace boost {
namespace beast {
namespace http {
struct buffer_body;
} // http
} // beast
} // boost
#endif

View File

@ -11,22 +11,14 @@
#define BOOST_BEAST_HTTP_DETAIL_TYPE_TRAITS_HPP
#include <boost/beast/core/detail/type_traits.hpp>
#include <boost/beast/http/message_fwd.hpp>
#include <boost/beast/http/parser_fwd.hpp>
#include <boost/optional.hpp>
#include <cstdint>
namespace boost {
namespace beast {
namespace http {
template<bool isRequest, class Fields>
class header;
template<bool, class, class>
class message;
template<bool isRequest, class Body, class Fields>
class parser;
namespace detail {
template<class T>

View File

@ -10,6 +10,8 @@
#ifndef BOOST_BEAST_HTTP_DYNAMIC_BODY_HPP
#define BOOST_BEAST_HTTP_DYNAMIC_BODY_HPP
#include <boost/beast/http/dynamic_body_fwd.hpp>
#include <boost/beast/core/multi_buffer.hpp>
#include <boost/beast/http/basic_dynamic_body.hpp>
@ -17,11 +19,13 @@ namespace boost {
namespace beast {
namespace http {
#if BOOST_BEAST_DOXYGEN
/** A dynamic message body represented by a @ref multi_buffer
Meets the requirements of <em>Body</em>.
*/
using dynamic_body = basic_dynamic_body<multi_buffer>;
#endif
} // http
} // beast

View File

@ -0,0 +1,37 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_DYNAMIC_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_DYNAMIC_BODY_FWD_HPP
#include <boost/beast/http/basic_dynamic_body_fwd.hpp>
#include <memory>
namespace boost {
namespace beast {
#ifndef BOOST_BEAST_DOXYGEN
template<class Allocator>
class basic_multi_buffer;
using multi_buffer = basic_multi_buffer<std::allocator<char>>;
#endif
namespace http {
#ifndef BOOST_BEAST_DOXYGEN
using dynamic_body = basic_dynamic_body<multi_buffer>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -10,6 +10,8 @@
#ifndef BOOST_BEAST_HTTP_EMPTY_BODY_HPP
#define BOOST_BEAST_HTTP_EMPTY_BODY_HPP
#include <boost/beast/http/empty_body_fwd.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>

View File

@ -0,0 +1,23 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_EMPTY_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_EMPTY_BODY_FWD_HPP
namespace boost {
namespace beast {
namespace http {
struct empty_body;
} // http
} // beast
} // boost
#endif

View File

@ -10,6 +10,8 @@
#ifndef BOOST_BEAST_HTTP_FIELDS_HPP
#define BOOST_BEAST_HTTP_FIELDS_HPP
#include <boost/beast/http/fields_fwd.hpp>
#include <boost/beast/core/detail/allocator.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/error.hpp>
@ -20,11 +22,9 @@
#include <boost/intrusive/list.hpp>
#include <boost/intrusive/set.hpp>
#include <boost/optional.hpp>
#include <algorithm>
#include <cctype>
#include <cstring>
#include <memory>
#include <string>
#include <type_traits>
#include <utility>
@ -864,8 +864,10 @@ private:
string_view target_or_reason_;
};
#if BOOST_BEAST_DOXYGEN
/// A typical HTTP header fields container
using fields = basic_fields<std::allocator<char>>;
#endif
} // http
} // beast

View File

@ -0,0 +1,30 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_FIELDS_FWD_HPP
#define BOOST_BEAST_HTTP_FIELDS_FWD_HPP
#include <memory>
namespace boost {
namespace beast {
namespace http {
template<class Allocator>
class basic_fields;
#ifndef BOOST_BEAST_DOXYGEN
using fields = basic_fields<std::allocator<char>>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -10,21 +10,22 @@
#ifndef BOOST_BEAST_HTTP_FILE_BODY_HPP
#define BOOST_BEAST_HTTP_FILE_BODY_HPP
#include <boost/beast/http/file_body_fwd.hpp>
#include <boost/beast/core/file.hpp>
#include <boost/beast/http/basic_file_body.hpp>
#include <boost/assert.hpp>
#include <boost/optional.hpp>
#include <algorithm>
#include <cstdio>
#include <cstdint>
#include <utility>
namespace boost {
namespace beast {
namespace http {
#if BOOST_BEAST_DOXYGEN
/// A message body represented by a file on the filesystem.
using file_body = basic_file_body<file>;
#endif
} // http
} // beast

View File

@ -0,0 +1,29 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_FILE_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_FILE_BODY_FWD_HPP
#include <boost/beast/http/basic_file_body_fwd.hpp>
#include <boost/beast/core/file.hpp>
namespace boost {
namespace beast {
namespace http {
#ifndef BOOST_BEAST_DOXYGEN
using file_body = basic_file_body<file>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -10,20 +10,19 @@
#ifndef BOOST_BEAST_HTTP_MESSAGE_HPP
#define BOOST_BEAST_HTTP_MESSAGE_HPP
#include <boost/beast/http/message_fwd.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/string.hpp>
#include <boost/beast/http/fields.hpp>
#include <boost/beast/http/verb.hpp>
#include <boost/beast/http/status.hpp>
#include <boost/beast/http/type_traits.hpp>
#include <boost/beast/core/string.hpp>
#include <boost/beast/http/verb.hpp>
#include <boost/assert.hpp>
#include <boost/core/empty_value.hpp>
#include <boost/mp11/integer_sequence.hpp>
#include <boost/assert.hpp>
#include <boost/optional.hpp>
#include <boost/throw_exception.hpp>
#include <memory>
#include <stdexcept>
#include <string>
#include <tuple>
#include <utility>
@ -48,11 +47,7 @@ namespace http {
#if BOOST_BEAST_DOXYGEN
template<bool isRequest, class Fields = fields>
class header : public Fields
#else
template<bool isRequest, class Fields = fields>
class header;
template<class Fields>
class header<true, Fields> : public Fields
#endif
@ -445,6 +440,7 @@ private:
#endif
};
#if BOOST_BEAST_DOXYGEN
/// A typical HTTP request header
template<class Fields = fields>
using request_header = header<true, Fields>;
@ -452,6 +448,7 @@ using request_header = header<true, Fields>;
/// A typical HTTP response header
template<class Fields = fields>
using response_header = header<false, Fields>;
#endif
#if defined(BOOST_MSVC)
// Workaround for MSVC bug with private base classes
@ -490,7 +487,11 @@ using value_type_t = typename T::value_type;
@tparam Fields The type of container used to hold the
field value pairs.
*/
#if BOOST_BEAST_DOXYGEN
template<bool isRequest, class Body, class Fields = fields>
#else
template<bool isRequest, class Body, class Fields>
#endif
class message
: public header<isRequest, Fields>
#if ! BOOST_BEAST_DOXYGEN
@ -972,6 +973,7 @@ private:
prepare_payload(std::false_type);
};
#if BOOST_BEAST_DOXYGEN
/// A typical HTTP request
template<class Body, class Fields = fields>
using request = message<true, Body, Fields>;
@ -979,6 +981,7 @@ using request = message<true, Body, Fields>;
/// A typical HTTP response
template<class Body, class Fields = fields>
using response = message<false, Body, Fields>;
#endif
//------------------------------------------------------------------------------

View File

@ -0,0 +1,43 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_MESSAGE_FWD_HPP
#define BOOST_BEAST_HTTP_MESSAGE_FWD_HPP
#include <boost/beast/http/fields_fwd.hpp>
namespace boost {
namespace beast {
namespace http {
#ifndef BOOST_BEAST_DOXYGEN
template<bool isRequest, class Fields = fields>
class header;
template<bool isRequest, class Body, class Fields = fields>
class message;
template<class Fields = fields>
using request_header = header<true, Fields>;
template<class Fields = fields>
using response_header = header<false, Fields>;
template<class Body, class Fields = fields>
using request = message<true, Body, Fields>;
template<class Body, class Fields = fields>
using response = message<false, Body, Fields>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -9,6 +9,8 @@
#ifndef BOOST_BEAST_HTTP_MESSAGE_GENERATOR_HPP
#define BOOST_BEAST_HTTP_MESSAGE_GENERATOR_HPP
#include <boost/beast/http/message_generator_fwd.hpp>
#include <boost/beast/core/span.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/http/serializer.hpp>

View File

@ -0,0 +1,23 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_MESSAGE_GENERATOR_FWD_HPP
#define BOOST_BEAST_HTTP_MESSAGE_GENERATOR_FWD_HPP
namespace boost {
namespace beast {
namespace http {
class message_generator;
} // http
} // beast
} // boost
#endif

View File

@ -10,6 +10,8 @@
#ifndef BOOST_BEAST_HTTP_PARSER_HPP
#define BOOST_BEAST_HTTP_PARSER_HPP
#include <boost/beast/http/parser_fwd.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/basic_parser.hpp>
#include <boost/beast/http/message.hpp>
@ -43,10 +45,17 @@ namespace http {
@note A new instance of the parser is required for each message.
*/
#if BOOST_BEAST_DOXYGEN
template<
bool isRequest,
class Body,
class Allocator = std::allocator<char>>
#else
template<
bool isRequest,
class Body,
class Allocator>
#endif
class parser
: public basic_parser<isRequest>
{
@ -489,6 +498,7 @@ private:
}
};
#if BOOST_BEAST_DOXYGEN
/// An HTTP/1 parser for producing a request message.
template<class Body, class Allocator = std::allocator<char>>
using request_parser = parser<true, Body, Allocator>;
@ -496,6 +506,7 @@ using request_parser = parser<true, Body, Allocator>;
/// An HTTP/1 parser for producing a response message.
template<class Body, class Allocator = std::allocator<char>>
using response_parser = parser<false, Body, Allocator>;
#endif
} // http
} // beast

View File

@ -0,0 +1,37 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_PARSER_FWD_HPP
#define BOOST_BEAST_HTTP_PARSER_FWD_HPP
#include <memory>
namespace boost {
namespace beast {
namespace http {
#ifndef BOOST_BEAST_DOXYGEN
template<
bool isRequest,
class Body,
class Allocator = std::allocator<char>>
class parser;
template<class Body, class Allocator = std::allocator<char>>
using request_parser = parser<true, Body, Allocator>;
template<class Body, class Allocator = std::allocator<char>>
using response_parser = parser<false, Body, Allocator>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -10,14 +10,16 @@
#ifndef BOOST_BEAST_HTTP_SERIALIZER_HPP
#define BOOST_BEAST_HTTP_SERIALIZER_HPP
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/serializer_fwd.hpp>
#include <boost/beast/core/buffers_cat.hpp>
#include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/string.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/detail/variant.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/core/string.hpp>
#include <boost/beast/http/chunk_encode.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/asio/buffer.hpp>
#include <boost/optional.hpp>
@ -57,10 +59,11 @@ namespace http {
@tparam Fields The type of fields in the message.
*/
template<
bool isRequest,
class Body,
class Fields = fields>
#if BOOST_BEAST_DOXYGEN
template<bool isRequest, class Body, class Fields = fields>
#else
template<bool isRequest, class Body, class Fields>
#endif
class serializer
{
public:
@ -377,6 +380,7 @@ public:
}
};
#if BOOST_BEAST_DOXYGEN
/// A serializer for HTTP/1 requests
template<class Body, class Fields = fields>
using request_serializer = serializer<true, Body, Fields>;
@ -384,6 +388,7 @@ using request_serializer = serializer<true, Body, Fields>;
/// A serializer for HTTP/1 responses
template<class Body, class Fields = fields>
using response_serializer = serializer<false, Body, Fields>;
#endif
} // http
} // beast

View File

@ -0,0 +1,34 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_SERIALIZER_FWD_HPP
#define BOOST_BEAST_HTTP_SERIALIZER_FWD_HPP
#include <boost/beast/http/fields_fwd.hpp>
namespace boost {
namespace beast {
namespace http {
#ifndef BOOST_BEAST_DOXYGEN
template<bool isRequest, class Body, class Fields = fields>
class serializer;
template<class Body, class Fields = fields>
using request_serializer = serializer<true, Body, Fields>;
template<class Body, class Fields = fields>
using response_serializer = serializer<false, Body, Fields>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -10,8 +10,10 @@
#ifndef BOOST_BEAST_HTTP_SPAN_BODY_HPP
#define BOOST_BEAST_HTTP_SPAN_BODY_HPP
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/span_body_fwd.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/span.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>

View File

@ -0,0 +1,24 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_SPAN_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_SPAN_BODY_FWD_HPP
namespace boost {
namespace beast {
namespace http {
template<class T>
struct span_body;
} // http
} // beast
} // boost
#endif

View File

@ -10,18 +10,17 @@
#ifndef BOOST_BEAST_HTTP_STRING_BODY_HPP
#define BOOST_BEAST_HTTP_STRING_BODY_HPP
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/string_body_fwd.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/core/buffers_range.hpp>
#include <boost/beast/core/detail/clamp.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/asio/buffer.hpp>
#include <boost/optional.hpp>
#include <cstdint>
#include <limits>
#include <memory>
#include <stdexcept>
#include <string>
#include <utility>
@ -35,10 +34,17 @@ namespace http {
for holding message payloads. Messages using this body type
may be serialized and parsed.
*/
#if BOOST_BEAST_DOXYGEN
template<
class CharT,
class Traits = std::char_traits<CharT>,
class Allocator = std::allocator<CharT>>
#else
template<
class CharT,
class Traits,
class Allocator>
#endif
struct basic_string_body
{
private:
@ -176,8 +182,10 @@ public:
#endif
};
#if BOOST_BEAST_DOXYGEN
/// A <em>Body</em> using `std::string`
using string_body = basic_string_body<char>;
#endif
} // http
} // beast

View File

@ -0,0 +1,34 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_STRING_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_STRING_BODY_FWD_HPP
#include <memory>
#include <string>
namespace boost {
namespace beast {
namespace http {
#ifndef BOOST_BEAST_DOXYGEN
template<
class CharT,
class Traits = std::char_traits<CharT>,
class Allocator = std::allocator<CharT>>
struct basic_string_body;
using string_body = basic_string_body<char>;
#endif
} // http
} // beast
} // boost
#endif

View File

@ -24,9 +24,6 @@ namespace boost {
namespace beast {
namespace http {
template<bool, class, class>
class message;
/** Determine if a type meets the <em>Body</em> named requirements.
This alias template is `std::true_type` if `T` meets

View File

@ -10,19 +10,18 @@
#ifndef BOOST_BEAST_HTTP_VECTOR_BODY_HPP
#define BOOST_BEAST_HTTP_VECTOR_BODY_HPP
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/vector_body_fwd.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/core/detail/clamp.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/core/detail/clamp.hpp>
#include <boost/asio/buffer.hpp>
#include <boost/optional.hpp>
#include <cstdint>
#include <limits>
#include <memory>
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
namespace boost {
namespace beast {
@ -34,7 +33,11 @@ namespace http {
for holding message payloads. Messages using this body type
may be serialized and parsed.
*/
#if BOOST_BEAST_DOXYGEN
template<class T, class Allocator = std::allocator<T>>
#else
template<class T, class Allocator>
#endif
struct vector_body
{
private:

View File

@ -0,0 +1,26 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
#ifndef BOOST_BEAST_HTTP_VECTOR_BODY_FWD_HPP
#define BOOST_BEAST_HTTP_VECTOR_BODY_FWD_HPP
#include <memory>
namespace boost {
namespace beast {
namespace http {
template<class T, class Allocator = std::allocator<T>>
struct vector_body;
} // http
} // beast
} // boost
#endif

View File

@ -16,31 +16,43 @@ add_executable (tests-beast-http
${EXTRAS_FILES}
Jamfile
any_completion_handler.cpp
message_fuzz.hpp
test_parser.hpp
basic_dynamic_body_fwd.cpp
basic_dynamic_body.cpp
basic_file_body_fwd.cpp
basic_file_body.cpp
basic_parser.cpp
buffer_body_fwd.cpp
buffer_body.cpp
chunk_encode.cpp
deferred.cpp
dynamic_body_fwd.cpp
dynamic_body.cpp
empty_body_fwd.cpp
empty_body.cpp
error.cpp
field.cpp
field_compiles.cpp
field.cpp
fields_fwd.cpp
fields.cpp
file_body_fwd.cpp
file_body.cpp
message_fwd.cpp
message_generator_fwd.cpp
message_generator.cpp
message.cpp
parser_fwd.cpp
parser.cpp
read.cpp
rfc7230.cpp
serializer_fwd.cpp
serializer.cpp
span_body_fwd.cpp
span_body.cpp
status.cpp
string_body_fwd.cpp
string_body.cpp
type_traits.cpp
vector_body_fwd.cpp
vector_body.cpp
verb.cpp
write.cpp

View File

@ -9,28 +9,43 @@
local SOURCES =
any_completion_handler.cpp
basic_dynamic_body_fwd.cpp
basic_dynamic_body.cpp
basic_file_body_fwd.cpp
basic_file_body.cpp
basic_parser.cpp
buffer_body_fwd.cpp
buffer_body.cpp
chunk_encode.cpp
deferred.cpp
dynamic_body_fwd.cpp
dynamic_body.cpp
empty_body_fwd.cpp
empty_body.cpp
error.cpp
field.cpp
field_compiles.cpp
field.cpp
fields_fwd.cpp
fields.cpp
file_body_fwd.cpp
file_body.cpp
message_fwd.cpp
message_generator_fwd.cpp
message_generator.cpp
message.cpp
parser_fwd.cpp
parser.cpp
read.cpp
rfc7230.cpp
serializer_fwd.cpp
serializer.cpp
span_body_fwd.cpp
span_body.cpp
status.cpp
string_body_fwd.cpp
string_body.cpp
type_traits.cpp
vector_body_fwd.cpp
vector_body.cpp
verb.cpp
write.cpp

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/basic_dynamic_body_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/basic_file_body_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/buffer_body_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/dynamic_body_fwd.hpp>

View File

@ -10,6 +10,8 @@
// Test that header file is self-contained.
#include <boost/beast/http/empty_body.hpp>
#include <boost/beast/http/type_traits.hpp>
namespace boost {
namespace beast {
namespace http {

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/empty_body_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/fields_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/file_body_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/message_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/message_generator_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/parser_fwd.hpp>

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/serializer_fwd.hpp>

View File

@ -10,9 +10,10 @@
// Test that header file is self-contained.
#include <boost/beast/http/span_body.hpp>
#include <boost/beast/_experimental/unit_test/suite.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/_experimental/unit_test/suite.hpp>
#include <boost/beast/http/type_traits.hpp>
namespace boost {
namespace beast {

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/span_body_fwd.hpp>

View File

@ -10,6 +10,8 @@
// Test that header file is self-contained.
#include <boost/beast/http/string_body.hpp>
#include <boost/beast/http/type_traits.hpp>
namespace boost {
namespace beast {
namespace http {

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/string_body_fwd.hpp>

View File

@ -11,6 +11,7 @@
#include <boost/beast/http/type_traits.hpp>
#include <boost/beast/http/empty_body.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/beast/http/string_body.hpp>
#include <boost/beast/core/buffer_traits.hpp>
#include <boost/beast/core/buffers_cat.hpp>

View File

@ -9,6 +9,9 @@
// Test that header file is self-contained.
#include <boost/beast/http/vector_body.hpp>
#include <boost/beast/http/type_traits.hpp>
#include <cstddef>
namespace boost {

View File

@ -0,0 +1,11 @@
//
// Copyright (c) 2024 Mohammad Nejati
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/beast
//
// Test that header file is self-contained.
#include <boost/beast/http/vector_body_fwd.hpp>