libkazv
types.hpp File Reference
#include "libkazv-config.hpp"
#include <optional>
#include <string>
#include <variant>
#include <nlohmann/json.hpp>
#include <immer/array.hpp>
#include <immer/flex_vector.hpp>
#include <immer/map.hpp>
#include <boost/hana/type.hpp>
#include <lager/util.hpp>
#include "jsonwrap.hpp"
#include "event.hpp"
Include dependency graph for types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Kazv::Null
 
struct  nlohmann::adl_serializer< immer::map< T, V > >
 
struct  nlohmann::adl_serializer< immer::array< T > >
 
struct  nlohmann::adl_serializer< immer::flex_vector< T > >
 
struct  nlohmann::adl_serializer< Kazv::Variant >
 

Namespaces

 Kazv
 
 Kazv::detail
 
 nlohmann
 

Typedefs

using Kazv::Bytes = std::string
 
using Kazv::EventList = immer::flex_vector< Event >
 
using Kazv::Variant = std::variant< std::string, JsonWrap, Null >
 

Enumerations

enum  Kazv::Status : bool { Kazv::FAIL, Kazv::SUCC }
 
enum  Kazv::RoomMembership { Kazv::Invite, Kazv::Join, Kazv::Leave }
 

Functions

template<class T >
void Kazv::addToJsonIfNeeded (json &j, std::string name, T &&arg)
 
template<class MapT , std::enable_if_t<!std::is_same_v< std::decay_t< MapT >, json > &&!std::is_same_v< std::decay_t< MapT >, JsonWrap >, int > = 0>
void Kazv::addPropertyMapToJson (json &j, MapT &&arg)
 
void Kazv::addPropertyMapToJson (json &j, const json &arg)
 
template<class T >
std::add_lvalue_reference< T >::type Kazv::detail::declref () noexcept
 

Variables

constexpr auto Kazv::detail::hasEmptyMethod
 
constexpr detail::DefaultValT Kazv::DEFVAL