roar
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
Roar::Detail Namespace Reference

Classes

struct  Buffer
 
class  DirectoryServer
 Internal helper class to serve directories. More...
 
struct  DirectoryServerConstructionArgs
 
struct  FirstType
 Returns the first type of a parameter pack. More...
 
class  FixedString
 Utilitarian class to store and modify strings in compile time. More...
 
struct  MakeVariantFromRetrievers
 
struct  MakeVariantFromRetrievers< true, Retrievers... >
 
struct  PromiseReferenceWrap
 
struct  PromiseTypeBind
 
struct  PromiseTypeBind< PromiseTypeBindFail< FailArgs... > >
 
struct  PromiseTypeBind< PromiseTypeBindThen< ThenArgs... > >
 
struct  PromiseTypeBind< PromiseTypeBindThen< ThenArgs... >, PromiseTypeBindFail< FailArgs... > >
 
class  PromiseTypeBindBase
 
struct  PromiseTypeBindFail
 
struct  PromiseTypeBindThen
 
class  RangeFileBodyImpl
 Support range requests for get requests including multipart/byterange. More...
 
struct  RequestExtensions
 
struct  ServedPath
 
struct  SharedFromBase
 
struct  UnpackReferenceWrapper
 
struct  UnpackReferenceWrapper< PromiseReferenceWrap< T > >
 
struct  UnpackReferenceWrapper< PromiseReferenceWrap< T const > >
 

Typedefs

using StreamType = boost::beast::basic_stream< boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::simple_rate_policy >
 
template<typename T , typename... Args>
using FirstType_t = typename FirstType< T, Args... >::type
 
template<bool Optional, typename... Retrievers>
using MakeVariantFromRetrievers_v = typename MakeVariantFromRetrievers< Optional, Retrievers... >::type
 

Functions

static constexpr std::uint64_t bufferSize ()
 
template<unsigned Base>
std::string bytesToHumanReadable (std::uint64_t bytes)
 
template<unsigned N>
 FixedString (char const (&)[N]) -> FixedString< N - 1 >
 
template<unsigned... Length>
constexpr auto FixConcat (const char(&... strings)[Length])
 Allows for compile-time string concatenation. Use very sparingly.
 
template<typename T >
auto ref (T &thing)
 
template<typename T >
auto cref (T const &thing)
 
 BOOST_SPIRIT_DEFINE (ranges)
 

Variables

constexpr char const * defaultListingStyle
 
const auto rangeRule = x3::rule<RangeRuleTag, Ranges::Range>{"range"} = x3::ulong_long >> '-' >> x3::ulong_long
 
const auto ranges = x3::rule<RangesRuleTag, Roar::Ranges>{"ranges"}
 
const auto ranges_def = (+(x3::char_ - '=') >> '=' >> (rangeRule % ',')) > x3::eoi
 

Typedef Documentation

◆ FirstType_t

template<typename T , typename... Args>
using Roar::Detail::FirstType_t = typedef typename FirstType<T, Args...>::type

◆ MakeVariantFromRetrievers_v

template<bool Optional, typename... Retrievers>
using Roar::Detail::MakeVariantFromRetrievers_v = typedef typename MakeVariantFromRetrievers<Optional, Retrievers...>::type

◆ StreamType

using Roar::Detail::StreamType = typedef boost::beast:: basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::simple_rate_policy>

Function Documentation

◆ BOOST_SPIRIT_DEFINE()

Roar::Detail::BOOST_SPIRIT_DEFINE ( ranges  )

◆ bufferSize()

static constexpr std::uint64_t Roar::Detail::bufferSize ( )
staticconstexpr

◆ bytesToHumanReadable()

template<unsigned Base>
std::string Roar::Detail::bytesToHumanReadable ( std::uint64_t  bytes)

◆ cref()

template<typename T >
auto Roar::Detail::cref ( T const &  thing)

◆ FixConcat()

template<unsigned... Length>
constexpr auto Roar::Detail::FixConcat ( const   char(&... strings)[Length])
constexpr

Allows for compile-time string concatenation. Use very sparingly.

◆ FixedString()

template<unsigned N>
Roar::Detail::FixedString ( char   const(&)[N]) -> FixedString< N - 1 >

◆ ref()

template<typename T >
auto Roar::Detail::ref ( T &  thing)

Variable Documentation

◆ defaultListingStyle

constexpr char const* Roar::Detail::defaultListingStyle
constexpr

◆ rangeRule

const auto Roar::Detail::rangeRule = x3::rule<RangeRuleTag, Ranges::Range>{"range"} = x3::ulong_long >> '-' >> x3::ulong_long

◆ ranges

const auto Roar::Detail::ranges = x3::rule<RangesRuleTag, Roar::Ranges>{"ranges"}

◆ ranges_def

const auto Roar::Detail::ranges_def = (+(x3::char_ - '=') >> '=' >> (rangeRule % ',')) > x3::eoi