Thoth
A functional, expressive, asynchronous C++26 webdev library
Loading...
Searching...
No Matches
Definitions.hpp File Reference
#include <variant>
#include <memory>
#include <vector>
#include <string>
#include <optional>
#include <expected>
#include <concepts>
#include <span>
#include <Thoth/Dsa/Cow.hpp>
#include <Thoth/NJson/StringRef.hpp>
Include dependency graph for Definitions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Thoth::NJson::Details::BufferInfo
 

Namespaces

namespace  Thoth
 
namespace  Thoth::Http
 
namespace  Thoth::NJson
 
namespace  Thoth::NJson::Details
 

Typedefs

using Thoth::NJson::Null = std::monostate
 
using Thoth::NJson::String = Dsa::Cow< StringRef, std::string >
 
using Thoth::NJson::Number = long double
 
using Thoth::NJson::Bool = bool
 
using Thoth::NJson::Object = std::unique_ptr< JsonObject >
 
using Thoth::NJson::Array = std::vector< Json >
 
using Thoth::NJson::RefValWrapper = Json *
 
using Thoth::NJson::CRefValWrapper = const Json *
 
using Thoth::NJson::OptRefValWrapper = std::optional< RefValWrapper >
 
using Thoth::NJson::OptCRefValWrapper = std::optional< CRefValWrapper >
 
using Thoth::NJson::ExpRefValWrapper = std::expected< RefValWrapper, Http::RequestError >
 
using Thoth::NJson::ExpCRefValWrapper = std::expected< CRefValWrapper, Http::RequestError >
 
using Thoth::NJson::ValWrapper = Json
 
using Thoth::NJson::CValWrapper = const Json
 
using Thoth::NJson::OptValWrapper = std::optional< ValWrapper >
 
using Thoth::NJson::OptCValWrapper = std::optional< CValWrapper >
 
using Thoth::NJson::ExpValWrapper = std::expected< ValWrapper, Http::RequestError >
 
using Thoth::NJson::ExpCValWrapper = std::expected< CValWrapper, Http::RequestError >
 
using Thoth::NJson::JsonObjKey = std::string
 
using Thoth::NJson::JsonObjKeyRef = std::string_view
 
using Thoth::NJson::Key = std::variant< int, JsonObjKey >
 
using Thoth::NJson::Keys = std::span< const Key >
 

Functions

template<class ... T>
requires ((std::unsigned_integral<T> || std::convertible_to<T, std::string_view>) &&...)
auto Thoth::NJson::MakeKeys (const T &... keys)