update sqlitecpp & merge property settings into properties
Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
parent
ff9bf0c14a
commit
88ca7769d1
39 changed files with 412 additions and 253 deletions
24
src/id.cpp
24
src/id.cpp
|
|
@ -1,32 +1,16 @@
|
|||
#include "id.hpp"
|
||||
#include "ikarus/id.h"
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include <ikarus/objects/object_type.h>
|
||||
|
||||
uint64_t const IKARUS_ID_OBJECT_TYPE_BITS = 8;
|
||||
uint64_t const IKARUS_ID_OBJECT_RANDOM_BITS = sizeof(IkarusId) - IKARUS_ID_OBJECT_TYPE_BITS;
|
||||
constexpr uint64_t IKARUS_ID_OBJECT_TYPE_BITS = 8;
|
||||
constexpr uint64_t IKARUS_ID_OBJECT_RANDOM_BITS = sizeof(IkarusId) - IKARUS_ID_OBJECT_TYPE_BITS;
|
||||
|
||||
auto from_data_and_type(int64_t data, IkarusObjectType type) -> IkarusId {
|
||||
auto ikarus_id_from_data_and_type(int64_t data, IkarusObjectType type) -> IkarusId {
|
||||
return data | (static_cast<IkarusId>(type) << IKARUS_ID_OBJECT_RANDOM_BITS);
|
||||
}
|
||||
|
||||
auto ikarus_id_get_object_type(IkarusId id) -> IkarusObjectType {
|
||||
return static_cast<IkarusObjectType>(id >> IKARUS_ID_OBJECT_RANDOM_BITS);
|
||||
}
|
||||
|
||||
TEST_CASE("id_object_type", "[id]") {
|
||||
// NOLINTNEXTLINE(readability-magic-numbers)
|
||||
auto id = static_cast<uint64_t>(IkarusObjectType_Blueprint) << IKARUS_ID_OBJECT_RANDOM_BITS;
|
||||
|
||||
REQUIRE(ikarus_id_get_object_type(id) == IkarusObjectType_Blueprint);
|
||||
}
|
||||
|
||||
TEST_CASE("id_equal", "[id]") {
|
||||
auto id = static_cast<uint64_t>(IkarusObjectType_Blueprint) << IKARUS_ID_OBJECT_RANDOM_BITS;
|
||||
auto copy = id;
|
||||
auto third = static_cast<uint64_t>(IkarusObjectType_Property) << IKARUS_ID_OBJECT_RANDOM_BITS;
|
||||
|
||||
REQUIRE(ikarus_id_is_equal(id, copy));
|
||||
REQUIRE(!ikarus_id_is_equal(id, third));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue