|
Sen API
Sen Libraries
|
#include "sen/core/base/assert.h"#include "sen/core/base/class_helpers.h"#include "sen/core/base/hash32.h"#include "sen/core/base/result.h"#include "sen/core/base/strong_type.h"#include "sen/core/base/type_traits_extra.h"#include "sen/core/meta/detail/type_impl.h"#include "sen/core/meta/detail/types_fwd.h"#include <cassert>#include <cstddef>#include <functional>#include <memory>#include <optional>#include <string_view>#include <type_traits>#include <variant>Go to the source code of this file.
Classes | |
| struct | sen::MemberHash |
| The hash of a member. More... | |
| struct | sen::ShouldBePassedByValue< MemberHash > |
| class | sen::Type |
| Represents a type that can be used to define variables and arguments for methods or functions. Types use the GoF Visitor pattern in order to allow easy and fast operation, as double dispatching is faster and cleaner than a (dynamic) cast-based approach. More... | |
| class | sen::TypeHandle< SenTypeType > |
| Handle around a type that, by default, ensures the lifetime of the underlying type. More... | |
| struct | std::hash< sen::TypeHandle< Type > > |
| struct | std::hash<::sen::MemberHash > |
Namespaces | |
| namespace | sen |
| namespace | std |
| STL namespace. | |
Macros | |
| #define | SEN_META_TYPE(classname) |
| Helper macro to implement some type methods. Only to be used within this library. NOLINTNEXTLINE. | |
Typedefs | |
| template<typename T> | |
| using | sen::ConstSharedPtr = std::shared_ptr<const T> |
| Utility typedef. | |
| template<typename T = Type> | |
| using | sen::ConstTypeHandle = TypeHandle<const T> |
| template<typename T = Type> | |
| using | sen::MaybeConstTypeHandle = std::optional<ConstTypeHandle<T>> |
Enumerations | |
| enum class | sen::TransportMode : uint8_t { sen::TransportMode::unicast = 0U , sen::TransportMode::multicast = 1U , sen::TransportMode::confirmed = 2U } |
| How to transport information. More... | |
Functions | |
| template<typename T> | |
| sen::TypeHandle (std::shared_ptr< T > type) -> TypeHandle< T > | |
| template<typename T> | |
| TypeHandle< T > | sen::makeNonOwningTypeHandle (T *typePtr) |
| Creates a non-owning type handle from a type pointer. | |
| template<typename T, typename U> | |
| std::optional< TypeHandle< T > > | sen::dynamicTypeHandleCast (const TypeHandle< U > &handle) |
| Downcasts the type inside the type handle to the specified one, if possible. | |
| #define SEN_META_TYPE | ( | classname | ) |
Helper macro to implement some type methods. Only to be used within this library. NOLINTNEXTLINE.