|
nngn
|
Namespaces | |
| namespace | anonymous_namespace{tests.h} |
| namespace | detail |
| namespace | literals |
| namespace | lua |
| namespace | term |
Classes | |
| struct | AABBCollider |
| struct | AdHocTimer |
| class | alloc_block |
| Non-owning handle to an aggregate header and data block. More... | |
| struct | allocator_base |
| Base class for allocators, implements a few basic operations. More... | |
| struct | allocator_opts |
| Configuration object for allocator_base. More... | |
| struct | always_false |
| struct | Animation |
| class | AnimationFunction |
| class | Animations |
| struct | ANSIEscapeCode |
| ANSI escape code sequences. More... | |
| class | Audio |
| Audio manager. More... | |
| class | AudioWidget |
| class | AudioWorker |
| struct | BBCollider |
| class | BindingGroup |
| class | Buffer |
| struct | Camera |
| Abstract orthographic/perspective camera. More... | |
| struct | CameraUBO |
| struct | Collider |
| struct | Colliders |
| struct | Collision |
| struct | CollisionStats |
| class | CommandPool |
| class | ComponentButton |
| class | Components |
| struct | Compute |
| Base class for computation back ends, which may be hardware-accelerated. More... | |
| struct | constant |
| Function object which always produces the same value. More... | |
| struct | CubeRenderer |
| class | DedicatedBuffer |
| class | delegate |
| Static container for a callable and its arguments. More... | |
| class | delegate_fn |
| Unique type for a function or member function pointer. More... | |
| class | DescriptorPool |
| class | DescriptorSets |
| class | Device |
| Owning wrapper for a VkDevice. More... | |
| struct | DeviceInfo |
| Aggregate type for information about a physical device. More... | |
| class | DeviceMemory |
| Manages device memory queries, allocations, and lifetime. More... | |
| struct | DeviceMemoryInfo |
| Aggregate type for information about a device's memory heaps. More... | |
| class | Edit |
| struct | fixed_string |
| struct | Flags |
| Wrapper for a small unsigned integral representing flags. More... | |
| class | FlowGridLayout |
Resizable QGridLayout composed of uniform, fixed-size widgets. More... | |
| struct | Font |
| class | Fonts |
| struct | FPS |
| class | FrameLimiter |
Simulates a v-sync pause using sleep. More... | |
| struct | Gen |
| class | Generator |
| struct | GLBuffer |
| struct | GLDebugGroup |
| RAII-based debug group manager. More... | |
| struct | GLFrameBuffer |
| class | GLFWBackend |
| class | GLPost |
| Post-processing operations. More... | |
| struct | GLProgram |
| struct | GLShader |
| struct | GLTexArray |
| struct | Graphics |
| struct | GraphicsStats |
| struct | GravityCollider |
| class | Grid |
| struct | Handle |
| Base class for strongly-typed handles in 32-bit platforms. More... | |
| struct | Image |
| class | Input |
| Dispatches keyboard input events to pre-registered Lua functions. More... | |
| class | Instance |
| Owning wrapper for a Vulkan instance. More... | |
| struct | InstanceInfo |
| Aggregate type for information about an instance. More... | |
| struct | Light |
| class | LightAnimation |
| class | Lighting |
| struct | LightsUBO |
| class | Log |
| class | lua_vector |
| Type used to get/push vectors as user data in Lua. More... | |
| class | LuaSyntaxHighlighter |
| class | Map |
| struct | mat |
| struct | mat3_base |
| struct | mat4_base |
| class | Math |
| struct | mem_obj |
| struct | member_less |
| struct | member_obj_type |
| Type associated with a member object/function pointer. More... | |
| struct | member_obj_type< O(T::*)> |
| struct | member_obj_type< R(T::*)(Args...)> |
| class | MouseInput |
| Mouse event manager. More... | |
| class | OpenGLHandle |
| class | owning_view |
| class | PCMWidget |
| struct | PlaneCollider |
| struct | Platform |
| class | pointer_flag |
| struct | Profile |
| struct | ProfileStats |
| struct | Pseudograph |
| struct | range_to |
| struct | reallocator |
| Simple allocator which supports reallocation. More... | |
| struct | Renderer |
| class | Renderers |
| Rendering subsystem. More... | |
| class | Schedule |
| Executor of deferred and recurrent tasks. More... | |
| class | scoped |
| class | Socket |
| class | SourceEditor |
| struct | SphereCollider |
| class | SpriteAnimation |
| struct | SpriteRenderer |
| class | StagingBuffer |
| Manages staging buffers for a group of frames. More... | |
| class | static_vector |
| Fixed-size vector with an embedded free list. More... | |
| class | Stats |
| struct | StatsBase |
| class | Sun |
| struct | SurfaceInfo |
| Aggregate type for information about a surface. More... | |
| class | SwapChain |
| Presentation swap chain and associated objects. More... | |
| class | tagging_allocator |
Generic implementation of a malloc(3)-style allocator with headers. More... | |
| class | Terminal |
| Handles interactions with the output terminal. More... | |
| struct | Text |
| class | Textbox |
| class | Textures |
| Texture manager, loads and caches image data from files/buffers. More... | |
| struct | Timing |
| struct | to |
Function object which converts its argument to T via static_cast. More... | |
| class | tracking_allocator |
| Allocator which tracks the amount of memory allocated. More... | |
| struct | VAO |
| struct | vec |
| struct | vec2_base |
| struct | vec3_base |
| struct | vec4_base |
| struct | vec_type |
| struct | vec_type< T, 2 > |
| struct | vec_type< T, 3 > |
| struct | vec_type< T, 4 > |
| struct | Vertex |
| struct | VoxelRenderer |
| struct | VT100EscapeCode |
| Character sequences to control a VT100 terminal. More... | |
| struct | VT520EscapeCode |
| Character sequences to control a VT520 terminal. More... | |
| class | WAV |
| A non-owning wrapper for a byte buffer containing a WAV file. More... | |
Concepts | |
| concept | VkNamedRange |
| concept | vector |
| concept | tagging_descriptor |
| Associates a block type with an allocator. | |
| concept | alloc_tracker |
| Describes how allocations of a particular type are tracked. | |
| concept | trivial |
| concept | standard_layout |
| concept | derived_from |
| concept | convertible_to_strict |
As std::convertible_to, but excluding implicit conversions. | |
| concept | integral |
| concept | unsigned_integral |
| concept | arithmetic |
| concept | char_type |
| concept | byte_type |
| concept | pointer |
| concept | byte_pointer |
| concept | member_pointer |
| concept | function |
| concept | c_function_pointer |
| concept | member_function_pointer |
| concept | function_pointer |
| concept | lvalue_ref |
| concept | rvalue_ref |
| concept | enum_ |
| concept | c_enum |
| concept | scoped_enum |
| concept | stateless_lambda |
| concept | type_list |
Typedefs | |
| using | MemoryAllocation = std::uint64_t |
| template<typename T > | |
| using | vk_create_info_type |
| Maps types to *CretaeInfo structures. | |
| using | Hash = std::size_t |
| using | imat3 = mat3_base<int32_t> |
| using | umat3 = mat3_base<uint32_t> |
| using | mat3 = mat3_base<float> |
| using | dmat3 = mat3_base<double> |
| using | imat4 = mat4_base<int32_t> |
| using | umat4 = mat4_base<uint32_t> |
| using | mat4 = mat4_base<float> |
| using | dmat4 = mat4_base<double> |
| template<typename T , std::size_t N> | |
| using | vec_type_t = typename vec_type<T, N>::type |
| template<typename T > | |
| using | vector_type = typename T::type |
| using | ivec2 = vec2_base<std::int32_t> |
| using | uvec2 = vec2_base<std::uint32_t> |
| using | zvec2 = vec2_base<std::size_t> |
| using | vec2 = vec2_base<float> |
| using | dvec2 = vec2_base<double> |
| using | ivec3 = vec3_base<std::int32_t> |
| using | uvec3 = vec3_base<std::uint32_t> |
| using | zvec3 = vec3_base<std::size_t> |
| using | vec3 = vec3_base<float> |
| using | dvec3 = vec3_base<double> |
| using | ivec4 = vec4_base<std::int32_t> |
| using | uvec4 = vec4_base<std::uint32_t> |
| using | zvec4 = vec4_base<std::size_t> |
| using | vec4 = vec4_base<float> |
| using | dvec4 = vec4_base<double> |
| template<typename T > | |
| using | stateless_allocator = allocator_base<T, allocator_opts{.is_always_equal = true}> |
| Base class for allocators that have no state. | |
| template<typename T > | |
| using | stateful_allocator = allocator_base<T, allocator_opts{.is_always_equal = false}> |
| Base class for allocators that have state. | |
| using | i8 = std::int8_t |
| using | i16 = std::int16_t |
| using | i32 = std::int32_t |
| using | i64 = std::int64_t |
| using | u8 = std::uint8_t |
| using | u16 = std::uint16_t |
| using | u32 = std::uint32_t |
| using | u64 = std::uint64_t |
| template<auto f> | |
| using | fn_args = typename detail::fn_args< >::type |
| template<typename ... Ts> | |
| using | types = detail::types_impl<Ts...> |
| template<typename T > | |
| using | member_obj_type_t = typename member_obj_type<T>::type |
Enumerations | |
| enum class | empty |
Functions | |
| template<typename T > | |
| static T::pointer | add (T *v, typename T::const_reference c) |
| template<Compute::Backend > | |
| std::unique_ptr< Compute > | compute_create_backend (const void *params) |
| template<> | |
| std::unique_ptr< Compute > | compute_create_backend< backend > (const void *params) |
| template<> | |
| std::unique_ptr< Compute > | compute_create_backend< Compute::Backend::PSEUDOCOMP > (const void *params) |
| template<template< typename > typename V, typename T , std::size_t N> | |
| std::ostream & | operator<< (std::ostream &os, const vec< V, T, N > &v) |
| std::ostream & | operator<< (std::ostream &os, const mat4 &m) |
| std::ostream & | operator<< (std::ostream &os, const Vertex &v) |
| std::ostream & | operator<< (std::ostream &os, const mat3 &m) |
| template<Graphics::Backend > | |
| std::unique_ptr< Graphics > | graphics_create_backend (const void *params) |
| template<> | |
| std::unique_ptr< Graphics > | graphics_create_backend< backend > (const void *params) |
| template<> | |
| std::unique_ptr< Graphics > | graphics_create_backend< backend_es > (const void *params) |
| const char * | gl_strerror (GLenum error) |
| const char * | gl_enum_str (GLenum e) |
| bool | gl_check_result (const char *func_name) |
| bool | gl_set_obj_name (GLenum type, GLuint obj, std::string_view name) |
| template<> | |
| std::unique_ptr< Graphics > | graphics_create_backend< Backend > (const void *params) |
| template<> | |
| std::unique_ptr< Graphics > | graphics_create_backend< backend > (const void *params) |
| NNGN_APPLY2 (C, VkBuffer, BUFFER) NNGN_IGNORE2(C | |
| COMMAND_BUFFER | NNGN_APPLY2 (C, VkCommandPool, COMMAND_POOL) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL | NNGN_IGNORE2 (C, VkDescriptorSet, DESCRIPTOR_SET) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT | NNGN_IGNORE2 (C, VkDeviceMemory, DEVICE_MEMORY) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE | NNGN_APPLY2 (C, VkFramebuffer, FRAMEBUFFER) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE | NNGN_APPLY2 (C, VkImageView, IMAGE_VIEW) NNGN_IGNORE2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE | NNGN_IGNORE2 (C, VkQueue, QUEUE) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE | NNGN_APPLY2 (C, VkPipelineLayout, PIPELINE_LAYOUT) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS | NNGN_APPLY2 (C, VkSampler, SAMPLER) NNGN_APPLY2(C |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE | NNGN_APPLY2 (C, VkShaderModule, SHADER_MODULE) template<> inline const expr auto vk_obj_type< VkBuffer > |
| const char * | vk_strerror (VkResult result) |
| const char * | vk_enum_str (VkDebugUtilsMessageSeverityFlagBitsEXT f) |
| std::string | vk_version_str (Graphics::Version v) |
| std::string | vk_version_str (std::uint32_t v) |
| Unpacks a Vulkan version number into a character array. | |
| Graphics::Version | vk_parse_version (std::uint32_t v) |
| Unpacks a Vulkan version number. | |
| const char * | vk_enum_str (VkDebugUtilsMessageTypeFlagsEXT f) |
| std::vector< Graphics::Extension > | vk_parse_extensions (std::span< const VkExtensionProperties > s) |
| Populates Graphics::Extension objects from their Vulkan equivalents. | |
| Graphics::PresentMode | vk_present_mode (VkPresentModeKHR m) |
| Populates a Graphics::PresentMode from its Vulkan equivalent. | |
| template<typename T > | |
| vk_create_info_type< T > | vk_create_info (vk_create_info_type< T > info) |
| nngn::uvec2 | vk_extent_to_vec (VkExtent2D e) |
| VkExtent2D | vk_vec_to_extent (nngn::uvec2 v) |
| bool | vk_check_result (const char *func, VkResult r) |
Checks that r is VK_SUCCESS or emits a log message. | |
| template<c_function_pointer auto f> | |
| auto | vk_enumerate (const auto &...args) |
Creates a vector from the result of calling f with args. | |
| template<typename T , auto ... Ps> | |
| constexpr auto | vk_vertex_input (std::span< const VkVertexInputBindingDescription > bindings) |
| std::vector< const char * > | vk_names (const VkNamedRange auto &r) |
Extracts the name character array from common objects. | |
| template<standard_layout T, auto ... Ps> | |
| auto | vk_vertex_attrs () |
| constexpr VkPipelineVertexInputStateCreateInfo | vk_vertex_input (std::span< const VkVertexInputBindingDescription > bindings, std::span< const VkVertexInputAttributeDescription > attrs) |
| template<> | |
| std::unique_ptr< Graphics > | graphics_create_backend< Backend > (const void *params) |
| std::unique_ptr< Input::Source > | input_graphics_source (Graphics *g) |
| std::unique_ptr< Input::Source > | input_terminal_source (int fd, Input::TerminalFlag flags) |
| Hash | hash (std::span< const char > s) |
| template<template< typename > typename CRTP, typename T , std::size_t N> | |
| constexpr bool | operator== (const mat< CRTP, T, N > &m0, const mat< CRTP, T, N > &m1) |
| template<template< typename > typename CRTP, typename T , std::size_t N> | |
| constexpr CRTP< T > | operator* (T s, const mat< CRTP, T, N > &m) |
| template<template< typename > typename CRTP, typename T , std::size_t N> | |
| constexpr CRTP< T > | operator* (const mat< CRTP, T, N > &m0, const mat< CRTP, T, N > &m1) |
| template<template< typename > typename CRTP, typename T , std::size_t N> | |
| constexpr vec_type_t< T, N > | operator* (const mat< CRTP, T, N > &m, const vec_type_t< T, N > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr const R * | begin (const T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr const R * | end (const T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr R * | begin (T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr R * | end (T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr bool | operator== (const T< R > &v0, const T< R > &v1) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr bool | operator!= (const T< R > &v0, const T< R > &v1) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator+ (R s, const T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator- (R s, const T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator* (R s, const T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator/ (R s, const T< R > &v) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator+ (const T< R > &v, R s) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator- (const T< R > &v, R s) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator* (const T< R > &v, R s) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator/ (const T< R > &v, R s) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator+ (const T< R > &v0, const T< R > &v1) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator- (const T< R > &v0, const T< R > &v1) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator* (const T< R > &v0, const T< R > &v1) |
| template<template< typename > typename T, typename R > requires vector<T, R> | |
| constexpr T< R > | operator/ (const T< R > &v0, const T< R > &v1) |
| static void | end_step (AdHocTimer::Step *s, Timing::time_point *last) |
| template<typename D > | |
| static auto | now (const Timing &t) |
| template<typename D > | |
| static auto | fnow (const Timing &t) |
| template<typename D > | |
| static auto | dt (const Timing &t) |
| template<typename D > | |
| static auto | fdt (const Timing &t) |
| template<typename T , allocator_opts o> | |
| bool | operator== (const allocator_base< T, o > &, const allocator_base< T, o > &) |
| template<typename T , allocator_opts o> | |
| bool | operator!= (const allocator_base< T, o > &, const allocator_base< T, o > &) |
| template<std::size_t N> | |
| fixed_string (const char(&)[N]) -> fixed_string< N - 1 > | |
| template<std::ranges::sized_range ... Rs> | |
| constexpr auto | cat (const Rs &...rs) |
| Concatenates multiple fixed_string objects into a character array. | |
| template<typename T > | |
| constexpr Flags< T > | operator& (Flags< T > lhs, Flags< T > rhs) |
| template<typename T > | |
| constexpr Flags< T > | operator| (Flags< T > lhs, Flags< T > rhs) |
| template<typename T > | |
| constexpr Flags< T > | operator^ (Flags< T > lhs, Flags< T > rhs) |
| std::ostream & | operator<< (std::ostream &os, Log::record r) |
| constexpr auto * | data_end (std::ranges::contiguous_range auto &&r) |
| template<typename T > | |
| void | resize_and_init (T *p, std::size_t n, auto &&f) |
| template<typename V > | |
| void | set_capacity (V *v, size_t n) |
| template<std::size_t N> | |
| consteval auto | to_array (const char *s) |
| template<std::size_t N> | |
| consteval auto | to_array (const char(&s)[N]) |
| template<std::size_t N> | |
| consteval auto | to_array (const std::ranges::contiguous_range auto &r) |
| template<std::size_t N, std::ranges::view V> | |
| consteval auto | to_array (V &&v) |
| constexpr bool | contains (const std::ranges::contiguous_range auto &r, const auto &x) |
| constexpr bool | in_range (const std::ranges::contiguous_range auto &r, const auto &x) |
| template<std::ranges::forward_range R, typename Proj = std::identity> | |
| constexpr bool | is_sequence (R &&r, Proj proj={}) |
| template<std::ranges::range R> | |
| constexpr void | iota (R &&r, std::ranges::range_value_t< R > &&x={}) |
| constexpr auto | reduce (std::ranges::range auto &&r) |
| constexpr auto | reduce (std::ranges::range auto &&r, auto &&init={}, auto &&op=std::plus<>{}) |
| void | const_time_erase (auto *v, auto *p) |
| template<std::input_iterator I, std::output_iterator< std::iter_value_t< I > > O> | |
| constexpr void | fill_with_pattern (I f, I l, O df, O dl) |
| constexpr void | fill_with_pattern (std::ranges::range auto &&p, std::ranges::range auto &&r) |
| template<typename T > | |
| constexpr T * | memcpy (T *dst, std::ranges::contiguous_range auto &&r) |
| template<typename T > | |
| constexpr T * | memmove (T *dst, std::ranges::contiguous_range auto &&r) |
| std::string | regexp_replace (std::string &&s, const std::regex &r, const char *fmt) |
| std::string | regexp_replace (std::string_view s, const std::regex &r, const char *fmt) |
| template<typename F , typename ... Ts> | |
| auto | make_scoped (F &&f, Ts &&...ts) |
| template<typename T , typename F , typename ... Ts> | |
| auto | make_scoped_obj (T &&t, F &&f, Ts &&...ts) |
| template<typename T > | |
| std::span< T > | slice (std::span< T > s, auto b, auto e) |
| template<typename T > | |
| auto | split (std::span< T > s, std::size_t i) |
| auto | split (std::string_view s, std::string_view::iterator i) |
| std::string | fmt (auto &&...args) |
| template<typename T > | |
| auto | tuple_tail (T &&t) |
| bool | read_file (std::string_view filename, std::string *ret) |
| bool | read_file (std::string_view filename, std::vector< std::byte > *ret) |
| template<typename ... Ts> | |
| constexpr | chain_cast (auto &&x) |
Performs successive static_casts, right to left. | |
| template<typename To , typename From > | |
| To | narrow (const From &x) |
Casts x to a narrower type, asserting that the value is preserved. | |
| template<typename T , typename U > | |
| constexpr | cast (U &&x) |
Cast value to T with the strictest cast operator. | |
| template<typename To , typename From > requires byte_pointer<To> || byte_pointer<From> | |
| constexpr To | byte_cast (From p) |
reinterpret_cast restricted to conversions from/to char/uchar. | |
| template<typename To , typename From > requires byte_type<To> || char_type<To> || byte_type<From> || char_type<From> | |
| std::span< To > | byte_cast (std::span< From > s) |
Cast between spans where one is a byte type. | |
| template<enum_ T> | |
| constexpr auto | to_underlying (T t) |
| constexpr auto | ptr_diff (const auto *lhs, const auto *rhs) |
| Signed distance in bytes between pointers. | |
| constexpr bool | ptr_cmp (const auto *p0, const auto *p1) |
| Compares the address of two pointers. | |
| template<standard_layout T> | |
| std::size_t | offsetof_ptr (auto T::*p) |
Similar to the stdlib's offsetof, but using member data pointers. | |
| auto | as_bytes (const void *p) |
| auto | as_bytes (void *p) |
| std::span< const std::byte > | as_byte_span (const auto *x) |
| std::span< std::byte > | as_byte_span (auto *x) |
| constexpr bool | str_less (const char *lhs, const char *rhs) |
| template<typename To , typename From > requires ( sizeof(To) == sizeof(From) && std::is_trivially_copyable_v<To> && std::is_trivially_copyable_v<From>) | |
| constexpr auto | bit_cast (const From &from) |
| template<typename T > | |
| constexpr auto | set_bit (T t, T mask, bool value) |
| constexpr | rptr (auto &&r) |
| Allows passing an rvalue pointer to a function. | |
| bool | operator== (const Vertex &l, const Vertex &r) |
| template<typename T > | |
| char * | toString (const vec2_base< T > &t) |
| template<typename T > | |
| char * | toString (const vec3_base< T > &t) |
| template<typename T > | |
| char * | toString (const vec4_base< T > &t) |
| char * | toString (const mat3 &t) |
| char * | toString (const mat4 &t) |
| char * | toString (const Vertex &t) |
| std::string | str (const static_vector< S > &v) |
| QString | qstring_from_view (std::string_view v) |
Variables | |
| template<typename T > | |
| using | const_iterator |
| template<typename T > | |
| static constexpr Compute::Type | arg_type = Compute::Type::NONE |
| template<typename T > | |
| constexpr empty | vk_struct_type = {} |
| Maps types to VkStructureType values. | |
| template<typename T > | |
| constexpr empty | vk_obj_type = {} |
| Maps types to VkObjectType values. | |
| VkCommandBuffer | |
| COMMAND_BUFFER | VkDescriptorPool |
| COMMAND_BUFFER DESCRIPTOR_POOL | VkDescriptorSetLayout |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT | VkFence |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE | VkImage |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE | VkPipeline |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE | VkPipelineCache |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE | VkRenderPass |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS | VkSemaphore |
| template<> | |
| constexpr auto | vk_obj_type< VkCommandBuffer > = VK_OBJECT_TYPE_COMMAND_BUFFER |
| template<> | |
| constexpr auto | vk_obj_type< VkCommandPool > = VK_OBJECT_TYPE_COMMAND_POOL |
| template<> | |
| constexpr auto | vk_obj_type< VkDescriptorPool > = VK_OBJECT_TYPE_DESCRIPTOR_POOL |
| template<> | |
| constexpr auto | vk_obj_type< VkDescriptorSet > = VK_OBJECT_TYPE_DESCRIPTOR_SET |
| template<> | |
| constexpr auto | vk_obj_type< VkDescriptorSetLayout > = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT |
| template<> | |
| constexpr auto | vk_obj_type< VkDeviceMemory > = VK_OBJECT_TYPE_DEVICE_MEMORY |
| template<> | |
| constexpr auto | vk_obj_type< VkFence > = VK_OBJECT_TYPE_FENCE |
| template<> | |
| constexpr auto | vk_obj_type< VkFramebuffer > = VK_OBJECT_TYPE_FRAMEBUFFER |
| template<> | |
| constexpr auto | vk_obj_type< VkImage > = VK_OBJECT_TYPE_IMAGE |
| template<> | |
| constexpr auto | vk_obj_type< VkImageView > = VK_OBJECT_TYPE_IMAGE_VIEW |
| template<> | |
| constexpr auto | vk_obj_type< VkPipeline > = VK_OBJECT_TYPE_PIPELINE |
| template<> | |
| constexpr auto | vk_obj_type< VkQueue > = VK_OBJECT_TYPE_QUEUE |
| template<> | |
| constexpr auto | vk_obj_type< VkPipelineCache > = VK_OBJECT_TYPE_PIPELINE_CACHE |
| template<> | |
| constexpr auto | vk_obj_type< VkPipelineLayout > = VK_OBJECT_TYPE_PIPELINE_LAYOUT |
| template<> | |
| constexpr auto | vk_obj_type< VkRenderPass > = VK_OBJECT_TYPE_RENDER_PASS |
| template<> | |
| constexpr auto | vk_obj_type< VkSampler > = VK_OBJECT_TYPE_SAMPLER |
| template<> | |
| constexpr auto | vk_obj_type< VkSemaphore > = VK_OBJECT_TYPE_SEMAPHORE |
| template<> | |
| constexpr auto | vk_obj_type< VkShaderModule > = VK_OBJECT_TYPE_SHADER_MODULE |
| using nngn::dmat3 = mat3_base<double> |
| using nngn::dmat4 = mat4_base<double> |
| using nngn::dvec2 = vec2_base<double> |
| using nngn::dvec3 = vec3_base<double> |
| using nngn::dvec4 = vec4_base<double> |
| using nngn::fn_args = typename detail::fn_args< >::type |
| using nngn::Hash = std::size_t |
| using nngn::i16 = std::int16_t |
| using nngn::i32 = std::int32_t |
| using nngn::i64 = std::int64_t |
| using nngn::i8 = std::int8_t |
| using nngn::imat3 = mat3_base<int32_t> |
| using nngn::imat4 = mat4_base<int32_t> |
| using nngn::ivec2 = vec2_base<std::int32_t> |
| using nngn::ivec3 = vec3_base<std::int32_t> |
| using nngn::ivec4 = vec4_base<std::int32_t> |
| using nngn::mat3 = mat3_base<float> |
| using nngn::mat4 = mat4_base<float> |
| using nngn::member_obj_type_t = typename member_obj_type<T>::type |
| using nngn::MemoryAllocation = std::uint64_t |
| using nngn::stateful_allocator = allocator_base<T, allocator_opts{.is_always_equal = false}> |
Base class for allocators that have state.
Automatically implements an equality operator which always returns false.
| using nngn::stateless_allocator = allocator_base<T, allocator_opts{.is_always_equal = true}> |
Base class for allocators that have no state.
Automatically implements an equality operator which always returns true.
| using nngn::types = detail::types_impl<Ts...> |
| using nngn::u16 = std::uint16_t |
| using nngn::u32 = std::uint32_t |
| using nngn::u64 = std::uint64_t |
| using nngn::u8 = std::uint8_t |
| using nngn::umat3 = mat3_base<uint32_t> |
| using nngn::umat4 = mat4_base<uint32_t> |
| using nngn::uvec2 = vec2_base<std::uint32_t> |
| using nngn::uvec3 = vec3_base<std::uint32_t> |
| using nngn::uvec4 = vec4_base<std::uint32_t> |
| using nngn::vec2 = vec2_base<float> |
| using nngn::vec3 = vec3_base<float> |
| using nngn::vec4 = vec4_base<float> |
| using nngn::vec_type_t = typename vec_type<T, N>::type |
| using nngn::vector_type = typename T::type |
| using nngn::vk_create_info_type |
Maps types to *CretaeInfo structures.
| using nngn::zvec2 = vec2_base<std::size_t> |
| using nngn::zvec3 = vec3_base<std::size_t> |
| using nngn::zvec4 = vec4_base<std::size_t> |
|
strong |


|
inline |



|
inline |

|
inline |
|
inlineconstexpr |

|
inlineconstexpr |
|
constexpr |
|
constexpr |
reinterpret_cast restricted to conversions from/to char/uchar.


| std::span< To > nngn::byte_cast | ( | std::span< From > | s | ) |
Cast between spans where one is a byte type.

|
constexpr |
Cast value to T with the strictest cast operator.

|
constexpr |
Concatenates multiple fixed_string objects into a character array.

|
constexpr |
Performs successive static_casts, right to left.

| std::unique_ptr< Compute > nngn::compute_create_backend | ( | const void * | params | ) |
| std::unique_ptr< Compute > nngn::compute_create_backend< backend > | ( | const void * | params | ) |
| std::unique_ptr< Compute > nngn::compute_create_backend< Compute::Backend::PSEUDOCOMP > | ( | const void * | params | ) |
| void nngn::const_time_erase | ( | auto * | v, |
| auto * | p ) |



|
constexpr |


|
inlineconstexpr |
|
inlineconstexpr |
|
static |




|
constexpr |


|
constexpr |

| std::string nngn::fmt | ( | auto &&... | args | ) |





| const char * nngn::gl_enum_str | ( | GLenum | e | ) |

|
inline |

| const char * nngn::gl_strerror | ( | GLenum | error | ) |

| std::unique_ptr< Graphics > nngn::graphics_create_backend | ( | const void * | params | ) |
| std::unique_ptr< Graphics > nngn::graphics_create_backend< Backend > | ( | const void * | params | ) |
| std::unique_ptr< Graphics > nngn::graphics_create_backend< Backend > | ( | const void * | params | ) |
| std::unique_ptr< Graphics > nngn::graphics_create_backend< backend > | ( | const void * | params | ) |
| std::unique_ptr< Graphics > nngn::graphics_create_backend< backend > | ( | const void * | params | ) |
| std::unique_ptr< Graphics > nngn::graphics_create_backend< backend_es > | ( | const void * | params | ) |

| std::unique_ptr< Input::Source > nngn::input_graphics_source | ( | Graphics * | g | ) |


| std::unique_ptr< Input::Source > nngn::input_terminal_source | ( | int | fd, |
| Input::TerminalFlag | flags ) |

|
constexpr |
|
constexpr |





|
constexpr |


|
constexpr |


| To nngn::narrow | ( | const From & | x | ) |
Casts x to a narrower type, asserting that the value is preserved.

| nngn::NNGN_APPLY2 | ( | C | , |
| VkBuffer | , | ||
| BUFFER | ) |
| COMMAND_BUFFER nngn::NNGN_APPLY2 | ( | C | , |
| VkCommandPool | , | ||
| COMMAND_POOL | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::NNGN_APPLY2 | ( | C | , |
| VkFramebuffer | , | ||
| FRAMEBUFFER | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE nngn::NNGN_APPLY2 | ( | C | , |
| VkImageView | , | ||
| IMAGE_VIEW | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE nngn::NNGN_APPLY2 | ( | C | , |
| VkPipelineLayout | , | ||
| PIPELINE_LAYOUT | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::NNGN_APPLY2 | ( | C | , |
| VkSampler | , | ||
| SAMPLER | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE nngn::NNGN_APPLY2 | ( | C | , |
| VkShaderModule | , | ||
| SHADER_MODULE | ) const |
| COMMAND_BUFFER DESCRIPTOR_POOL nngn::NNGN_IGNORE2 | ( | C | , |
| VkDescriptorSet | , | ||
| DESCRIPTOR_SET | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::NNGN_IGNORE2 | ( | C | , |
| VkDeviceMemory | , | ||
| DEVICE_MEMORY | ) |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE nngn::NNGN_IGNORE2 | ( | C | , |
| VkQueue | , | ||
| QUEUE | ) |

| std::size_t nngn::offsetof_ptr | ( | auto T::* | p | ) |
Similar to the stdlib's offsetof, but using member data pointers.


| bool nngn::operator!= | ( | const allocator_base< T, o > & | , |
| const allocator_base< T, o > & | ) |
|
constexpr |
|
inlineconstexpr |

|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
| std::ostream & nngn::operator<< | ( | std::ostream & | os, |
| Log::record | r ) |
| bool nngn::operator== | ( | const allocator_base< T, o > & | , |
| const allocator_base< T, o > & | ) |
|
constexpr |
|
constexpr |

Compares the address of two pointers.
Signed distance in bytes between pointers.


|
inline |

| bool nngn::read_file | ( | std::string_view | filename, |
| std::string * | ret ) |

| bool nngn::read_file | ( | std::string_view | filename, |
| std::vector< std::byte > * | ret ) |
|
constexpr |

|
constexpr |
|
inline |


|
inline |



|
constexpr |
Allows passing an rvalue pointer to a function.
E.g. takes_ptr(rptr(Obj{})).


| void nngn::set_capacity | ( | V * | v, |
| size_t | n ) |


|
inline |

| std::string nngn::str | ( | const static_vector< S > & | v | ) |


|
consteval |

|
consteval |

|
consteval |

|
consteval |

|
inlineconstexpr |

Checks that r is VK_SUCCESS or emits a log message.
c == VK_SUCCESS 

| vk_create_info_type< T > nngn::vk_create_info | ( | vk_create_info_type< T > | info | ) |

| const char * nngn::vk_enum_str | ( | VkDebugUtilsMessageSeverityFlagBitsEXT | f | ) |


| const char * nngn::vk_enum_str | ( | VkDebugUtilsMessageTypeFlagsEXT | f | ) |

| auto nngn::vk_enumerate | ( | const auto &... | args | ) |
Creates a vector from the result of calling f with args.
Simplifies the usual two-step enumeration sequence of calls when dynamic allocation is desired.


|
inline |

Extracts the name character array from common objects.
| std::vector< Graphics::Extension > nngn::vk_parse_extensions | ( | std::span< const VkExtensionProperties > | s | ) |
Populates Graphics::Extension objects from their Vulkan equivalents.


| Graphics::Version nngn::vk_parse_version | ( | std::uint32_t | v | ) |
Unpacks a Vulkan version number.

| Graphics::PresentMode nngn::vk_present_mode | ( | VkPresentModeKHR | m | ) |
Populates a Graphics::PresentMode from its Vulkan equivalent.


| const char * nngn::vk_strerror | ( | VkResult | result | ) |

|
inline |

| std::string nngn::vk_version_str | ( | Graphics::Version | v | ) |

| std::string nngn::vk_version_str | ( | std::uint32_t | v | ) |
Unpacks a Vulkan version number into a character array.

| auto nngn::vk_vertex_attrs | ( | ) |


|
constexpr |

|
constexpr |
|
staticconstexpr |
| using nngn::const_iterator |
Maps types to VkObjectType values.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Maps types to VkStructureType values.
| nngn::VkCommandBuffer |
| COMMAND_BUFFER nngn::VkDescriptorPool |
| COMMAND_BUFFER DESCRIPTOR_POOL nngn::VkDescriptorSetLayout |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::VkFence |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::VkImage |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE nngn::VkPipeline |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE nngn::VkPipelineCache |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE nngn::VkRenderPass |
| COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::VkSemaphore |