neoGFX
Cross-platform C++ app/game engine
i_component_data.hpp File Reference

Go to the source code of this file.

Classes

struct  neogfx::game::i_component_data
 
struct  neogfx::game::i_component_data::meta
 
struct  neogfx::game::i_component_data::meta::invalid_field_index
 

Namespaces

 neogfx::game
 

Typedefs

template<class _Ty >
using neogfx::game::ecs_data_type_t = std::remove_cv_t< std::remove_reference_t< _Ty > >
 
typedef vec3u32 neogfx::game::face
 
typedef std::vector< face > neogfx::game::faces
 

Enumerations

enum  neogfx::game::component_data_field_type : uint32_t {
  neogfx::game::component_data_field_type::Invalid = 0x00000000, neogfx::game::component_data_field_type::Bool = 0x00000001, neogfx::game::component_data_field_type::Int8 = 0x00000002, neogfx::game::component_data_field_type::Uint8 = 0x00000003,
  neogfx::game::component_data_field_type::Int16 = 0x00000004, neogfx::game::component_data_field_type::Uint16 = 0x00000005, neogfx::game::component_data_field_type::Int32 = 0x00000006, neogfx::game::component_data_field_type::Uint32 = 0x00000007,
  neogfx::game::component_data_field_type::Int64 = 0x00000008, neogfx::game::component_data_field_type::Uint64 = 0x00000009, neogfx::game::component_data_field_type::Float32 = 0x0000000A, neogfx::game::component_data_field_type::Float64 = 0x0000000B,
  neogfx::game::component_data_field_type::Scalar = Float64, neogfx::game::component_data_field_type::BasicVec2 = 0x00000100, neogfx::game::component_data_field_type::BasicVec3 = 0x00000200, neogfx::game::component_data_field_type::BasicVec4 = 0x00000300,
  neogfx::game::component_data_field_type::Vec2 = BasicVec2 | Float64, neogfx::game::component_data_field_type::Vec3 = BasicVec3 | Float64, neogfx::game::component_data_field_type::Vec4 = BasicVec4 | Float64, neogfx::game::component_data_field_type::Triangle = BasicVec3 | Uint32,
  neogfx::game::component_data_field_type::Face = Triangle, neogfx::game::component_data_field_type::BasicMat22 = 0x00000400, neogfx::game::component_data_field_type::BasicMat33 = 0x00000500, neogfx::game::component_data_field_type::BasicMat44 = 0x00000600,
  neogfx::game::component_data_field_type::Mat22 = BasicMat22 | Float64, neogfx::game::component_data_field_type::Mat33 = BasicMat33 | Float64, neogfx::game::component_data_field_type::Mat44 = BasicMat44 | Float64, neogfx::game::component_data_field_type::Aabb = 0x00001000,
  neogfx::game::component_data_field_type::Aabb2d = 0x00002000, neogfx::game::component_data_field_type::String = 0x00010000, neogfx::game::component_data_field_type::Enum = 0x000B0000, neogfx::game::component_data_field_type::Uuid = 0x000C0000,
  neogfx::game::component_data_field_type::Id = 0x000D0000, neogfx::game::component_data_field_type::ComponentData = 0x000E0000, neogfx::game::component_data_field_type::Optional = 0x01000000, neogfx::game::component_data_field_type::Array = 0x02000000,
  neogfx::game::component_data_field_type::Shared = 0x04000000, neogfx::game::component_data_field_type::Internal = 0x80000000
}
 

Functions

constexpr component_data_field_type neogfx::game::operator| (component_data_field_type aLhs, component_data_field_type aRhs)
 
constexpr component_data_field_type neogfx::game::operator & (component_data_field_type aLhs, component_data_field_type aRhs)
 
constexpr component_data_field_type & neogfx::game::operator|= (component_data_field_type &aLhs, component_data_field_type aRhs)
 
constexpr component_data_field_type & neogfx::game::operator &= (component_data_field_type &aLhs, component_data_field_type aRhs)