Compare commits
	
		
			92 Commits
		
	
	
		
			release-d2
			...
			d141154a45
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d141154a45 | |||
| 6170647c0c | |||
| 48e45c7dd6 | |||
| 5d3d9229b7 | |||
| d54e93d836 | |||
| 830f8fe3e4 | |||
| 7b638538aa | |||
| 2016f6e605 | |||
| 240effd305 | |||
| 6bc629e02c | |||
| f6f2acd67b | |||
| 0146d38405 | |||
| 75d8e7bb89 | |||
| 6b53eaf6b1 | |||
| 16c32273ac | |||
| 1567a6e29d | |||
| 89d543bcbc | |||
| d68e64931b | |||
| 1cbc576286 | |||
| 500b93562c | |||
| 800ca85176 | |||
| cc466a9f1d | |||
| 9d1155843e | |||
| a2139c09b2 | |||
| a3e5f27ab8 | |||
| 643f95ec80 | |||
| 6924147686 | |||
| 6e2b4fa7b4 | |||
| 4e5c749918 | |||
| 66229de77f | |||
| 7eb37c5318 | |||
| 7a21b20711 | |||
| 894be237f2 | |||
| 92e9d9cbfc | |||
| b29b9a9b3a | |||
| 721f844214 | |||
| a3d6a58cc8 | |||
| e598e7fe27 | |||
| ba9e720f9f | |||
| 8e816a261f | |||
| 5b9929ab3d | |||
| ceb54b3f1b | |||
| 8764444758 | |||
| ce9a0b1fdb | |||
| f7a468ea1e | |||
| 861d177a27 | |||
| 3936756b36 | |||
| 3e78ec3fe5 | |||
| 3c3d53b40c | |||
| 151d7c5736 | |||
| 4e4d8d2c3f | |||
| 03d1fd2857 | |||
| 6701decc91 | |||
| 6cff526647 | |||
| dd50bd0249 | |||
| 55a1660242 | |||
| ed365dfef5 | |||
| 23a09e4a13 | |||
| b69e7ebb98 | |||
| 418d6e3f22 | |||
| c44d8678cb | |||
| eb4cd7106d | |||
| d259770f32 | |||
| 80bad608f7 | |||
| 2bce9a2baf | |||
| 791b7746f3 | |||
| 842e3587fd | |||
| 318e79004b | |||
| 9f338a7429 | |||
| 645e48af7b | |||
| ef92c8df13 | |||
| 849d50be8e | |||
| 845092f114 | |||
| 75819a1797 | |||
| d66da85753 | |||
| 98ddb08abd | |||
| 8d1701b0bb | |||
| 1048e522fd | |||
| ee59da4aa3 | |||
| 1ba64cb5d8 | |||
| 462bebf6dd | |||
| e3f84c4e75 | |||
| 6837a0556d | |||
| ede2c8ca37 | |||
| f50367f7d5 | |||
| e758e03d2b | |||
| 835e3270ce | |||
| 480dd5ece4 | |||
| dba6bb5800 | |||
| 40a456e54a | |||
| bf5be00c12 | |||
| dc7c2559d6 | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -6,7 +6,7 @@
 | 
				
			|||||||
.mypy_cache
 | 
					.mypy_cache
 | 
				
			||||||
.stfolder
 | 
					.stfolder
 | 
				
			||||||
.stignore
 | 
					.stignore
 | 
				
			||||||
scripts/__pycache__
 | 
					util/scripts/__pycache__
 | 
				
			||||||
pyenv
 | 
					pyenv
 | 
				
			||||||
CMakeLists.txt.user
 | 
					CMakeLists.txt.user
 | 
				
			||||||
ROM.oxfs
 | 
					ROM.oxfs
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,4 +2,4 @@
 | 
				
			|||||||
source:
 | 
					source:
 | 
				
			||||||
- src
 | 
					- src
 | 
				
			||||||
copyright_notice: |-
 | 
					copyright_notice: |-
 | 
				
			||||||
  Copyright 2016 - 2024 Gary Talent (gary@drinkingtea.net). All rights reserved.
 | 
					  Copyright 2016 - 2025 Gary Talent (gary@drinkingtea.net). All rights reserved.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								Makefile
									
									
									
									
									
								
							@@ -1,26 +1,31 @@
 | 
				
			|||||||
BC_VAR_PROJECT_NAME=nostalgia
 | 
					BC_VAR_PROJECT_NAME=nostalgia
 | 
				
			||||||
BC_VAR_PROJECT_NAME_CAP=Nostalgia
 | 
					BC_VAR_PROJECT_NAME_CAP=Nostalgia
 | 
				
			||||||
 | 
					BC_VAR_DEVENV_ROOT=util
 | 
				
			||||||
BUILDCORE_PATH=deps/buildcore
 | 
					BUILDCORE_PATH=deps/buildcore
 | 
				
			||||||
include ${BUILDCORE_PATH}/base.mk
 | 
					include ${BUILDCORE_PATH}/base.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(BC_VAR_OS),darwin)
 | 
					ifeq ($(BC_VAR_OS),darwin)
 | 
				
			||||||
	NOSTALGIA_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio.app/Contents/MacOS/${BC_VAR_PROJECT_NAME_CAP}Studio
 | 
						PROJECT_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio.app/Contents/MacOS/${BC_VAR_PROJECT_NAME_CAP}Studio
 | 
				
			||||||
	MGBA=/Applications/mGBA.app/Contents/MacOS/mGBA
 | 
						MGBA=/Applications/mGBA.app/Contents/MacOS/mGBA
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
	NOSTALGIA_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio
 | 
						PROJECT_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio
 | 
				
			||||||
	MGBA=mgba-qt
 | 
						MGBA=mgba-qt
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					PROJECT_PLAYER=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: pkg-gba
 | 
					.PHONY: pkg-gba
 | 
				
			||||||
pkg-gba: build
 | 
					pkg-gba: build
 | 
				
			||||||
	${BC_CMD_ENVRUN} ${BC_PY3} ./scripts/pkg-gba.py sample_project ${BC_VAR_PROJECT_NAME}
 | 
						${BC_CMD_ENVRUN} ${BC_PY3} ./util/scripts/pkg-gba.py sample_project ${BC_VAR_PROJECT_NAME}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: build-player
 | 
				
			||||||
 | 
					build-player:
 | 
				
			||||||
 | 
						${BC_CMD_CMAKE_BUILD} ${BC_VAR_BUILD_PATH} ${BC_VAR_PROJECT_NAME_CAP}
 | 
				
			||||||
.PHONY: run
 | 
					.PHONY: run
 | 
				
			||||||
run: build
 | 
					run: build-player
 | 
				
			||||||
	./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME} sample_project
 | 
						${PROJECT_PLAYER} sample_project
 | 
				
			||||||
.PHONY: run-studio
 | 
					.PHONY: run-studio
 | 
				
			||||||
run-studio: build
 | 
					run-studio: build
 | 
				
			||||||
	${NOSTALGIA_STUDIO}
 | 
						${PROJECT_STUDIO}
 | 
				
			||||||
.PHONY: gba-run
 | 
					.PHONY: gba-run
 | 
				
			||||||
gba-run: pkg-gba
 | 
					gba-run: pkg-gba
 | 
				
			||||||
	${MGBA} ${BC_VAR_PROJECT_NAME}.gba
 | 
						${MGBA} ${BC_VAR_PROJECT_NAME}.gba
 | 
				
			||||||
@@ -29,7 +34,7 @@ debug: build
 | 
				
			|||||||
	${BC_CMD_HOST_DEBUGGER} ./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME} sample_project
 | 
						${BC_CMD_HOST_DEBUGGER} ./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME} sample_project
 | 
				
			||||||
.PHONY: debug-studio
 | 
					.PHONY: debug-studio
 | 
				
			||||||
debug-studio: build
 | 
					debug-studio: build
 | 
				
			||||||
	${BC_CMD_HOST_DEBUGGER} ${NOSTALGIA_STUDIO}
 | 
						${BC_CMD_HOST_DEBUGGER} ${PROJECT_STUDIO}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: configure-gba
 | 
					.PHONY: configure-gba
 | 
				
			||||||
configure-gba:
 | 
					configure-gba:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								deps/gbabuildcore/base.cmake
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								deps/gbabuildcore/base.cmake
									
									
									
									
										vendored
									
									
								
							@@ -1,8 +1,8 @@
 | 
				
			|||||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake/modules)
 | 
					list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake/modules)
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdlib")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdlib")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc++")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc++")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-unwind-tables")
 | 
					#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-unwind-tables")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
 | 
					#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthumb-interwork")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthumb-interwork")
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								deps/glad/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								deps/glad/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							@@ -1,2 +1,11 @@
 | 
				
			|||||||
add_library(glad OBJECT src/glad.c)
 | 
					add_library(glad src/glad.c)
 | 
				
			||||||
target_include_directories(glad PUBLIC include)
 | 
					
 | 
				
			||||||
 | 
					target_include_directories(glad PUBLIC include)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					install(
 | 
				
			||||||
 | 
						TARGETS
 | 
				
			||||||
 | 
							glad
 | 
				
			||||||
 | 
						DESTINATION
 | 
				
			||||||
 | 
							LIBRARY DESTINATION lib
 | 
				
			||||||
 | 
							ARCHIVE DESTINATION lib
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								deps/imgui/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								deps/imgui/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							@@ -6,7 +6,7 @@ endif()
 | 
				
			|||||||
# DrinkingTea: end
 | 
					# DrinkingTea: end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_library(
 | 
					add_library(
 | 
				
			||||||
	imgui OBJECT
 | 
						imgui
 | 
				
			||||||
		imgui.cpp
 | 
							imgui.cpp
 | 
				
			||||||
		imgui_demo.cpp
 | 
							imgui_demo.cpp
 | 
				
			||||||
		imgui_draw.cpp
 | 
							imgui_draw.cpp
 | 
				
			||||||
@@ -19,4 +19,12 @@ add_library(
 | 
				
			|||||||
target_include_directories(
 | 
					target_include_directories(
 | 
				
			||||||
	imgui SYSTEM PUBLIC
 | 
						imgui SYSTEM PUBLIC
 | 
				
			||||||
		.
 | 
							.
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					install(
 | 
				
			||||||
 | 
						TARGETS
 | 
				
			||||||
 | 
							imgui
 | 
				
			||||||
 | 
						DESTINATION
 | 
				
			||||||
 | 
							LIBRARY DESTINATION lib
 | 
				
			||||||
 | 
							ARCHIVE DESTINATION lib
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/.liccor.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/.liccor.yml
									
									
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@
 | 
				
			|||||||
source:
 | 
					source:
 | 
				
			||||||
- src
 | 
					- src
 | 
				
			||||||
copyright_notice: |-
 | 
					copyright_notice: |-
 | 
				
			||||||
  Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					  Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  This Source Code Form is subject to the terms of the Mozilla Public
 | 
					  This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
  License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					  License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/clargs/clargs.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/clargs/clargs.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/clargs/clargs.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/clargs/clargs.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/claw.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/claw.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/format.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/format.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/read.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/read.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/read.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/read.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/readclaw.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/readclaw.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/write.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/write.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/claw/write.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/claw/write.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/event/event.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/event/event.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/event/signal.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/event/signal.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								deps/ox/src/ox/event/signal.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								deps/ox/src/ox/event/signal.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -215,7 +215,7 @@ Error Signal<Args...>::emitCheckError(Args... args) const noexcept {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		return ox::Error(0);
 | 
							return ox::Error(0);
 | 
				
			||||||
	} catch (const ox::Exception &ex) {
 | 
						} catch (const ox::Exception &ex) {
 | 
				
			||||||
		return ox::Error(ex.file, ex.line, ex.errCode, ex.msg);
 | 
							return ox::Error(ex.errCode, ex.msg, ex.src);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/event/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/event/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/filesystem/directory.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/filesystem/directory.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/filesystem/directory.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/filesystem/directory.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								deps/ox/src/ox/fs/filesystem/filesystem.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								deps/ox/src/ox/fs/filesystem/filesystem.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -63,18 +63,6 @@ Error FileSystem::read(const FileAddress &addr, std::size_t readStart, std::size
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Error FileSystem::remove(const FileAddress &addr, bool recursive) noexcept {
 | 
					 | 
				
			||||||
	switch (addr.type()) {
 | 
					 | 
				
			||||||
		case FileAddressType::Inode:
 | 
					 | 
				
			||||||
			return remove(addr.getInode().value, recursive);
 | 
					 | 
				
			||||||
		case FileAddressType::ConstPath:
 | 
					 | 
				
			||||||
		case FileAddressType::Path:
 | 
					 | 
				
			||||||
			return remove(StringView(addr.getPath().value), recursive);
 | 
					 | 
				
			||||||
		default:
 | 
					 | 
				
			||||||
			return ox::Error(1);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Error FileSystem::write(const FileAddress &addr, const void *buffer, uint64_t size, FileType fileType) noexcept {
 | 
					Error FileSystem::write(const FileAddress &addr, const void *buffer, uint64_t size, FileType fileType) noexcept {
 | 
				
			||||||
	switch (addr.type()) {
 | 
						switch (addr.type()) {
 | 
				
			||||||
		case FileAddressType::Inode:
 | 
							case FileAddressType::Inode:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										52
									
								
								deps/ox/src/ox/fs/filesystem/filesystem.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								deps/ox/src/ox/fs/filesystem/filesystem.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -57,9 +57,9 @@ class FileSystem {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		virtual Result<Vector<String>> ls(StringViewCR dir) const noexcept = 0;
 | 
							virtual Result<Vector<String>> ls(StringViewCR dir) const noexcept = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		virtual Error remove(StringViewCR path, bool recursive) noexcept = 0;
 | 
							Error remove(StringViewCR path, bool recursive = false) noexcept {
 | 
				
			||||||
 | 
								return removePath(path, recursive);
 | 
				
			||||||
		Error remove(const FileAddress &addr, bool recursive = false) noexcept;
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		virtual Error resize(uint64_t size, void *buffer) noexcept = 0;
 | 
							virtual Error resize(uint64_t size, void *buffer) noexcept = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -142,6 +142,8 @@ class FileSystem {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		virtual Error readFileInodeRange(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) noexcept = 0;
 | 
							virtual Error readFileInodeRange(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) noexcept = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							virtual Error removePath(StringViewCR path, bool recursive) noexcept = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		virtual Error writeFilePath(StringViewCR path, const void *buffer, uint64_t size, FileType fileType) noexcept = 0;
 | 
							virtual Error writeFilePath(StringViewCR path, const void *buffer, uint64_t size, FileType fileType) noexcept = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		virtual Error writeFileInode(uint64_t inode, const void *buffer, uint64_t size, FileType fileType) noexcept = 0;
 | 
							virtual Error writeFileInode(uint64_t inode, const void *buffer, uint64_t size, FileType fileType) noexcept = 0;
 | 
				
			||||||
@@ -209,6 +211,8 @@ class FileSystemTemplate: public MemFS {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		Error readFileInodeRange(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) noexcept override;
 | 
							Error readFileInodeRange(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Error removePath(StringViewCR path, bool recursive) noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Result<const char*> directAccessInode(uint64_t) const noexcept override;
 | 
							Result<const char*> directAccessInode(uint64_t) const noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Result<Vector<String>> ls(StringViewCR dir) const noexcept override;
 | 
							Result<Vector<String>> ls(StringViewCR dir) const noexcept override;
 | 
				
			||||||
@@ -216,8 +220,6 @@ class FileSystemTemplate: public MemFS {
 | 
				
			|||||||
		template<typename F>
 | 
							template<typename F>
 | 
				
			||||||
		Error ls(StringViewCR path, F cb) const;
 | 
							Error ls(StringViewCR path, F cb) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Error remove(StringViewCR path, bool recursive) noexcept override;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Resizes FileSystem to minimum possible size.
 | 
							 * Resizes FileSystem to minimum possible size.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
@@ -356,6 +358,25 @@ Error FileSystemTemplate<FileStore, Directory>::readFileInodeRange(uint64_t inod
 | 
				
			|||||||
	return m_fs.read(inode, readStart, readSize, reinterpret_cast<uint8_t*>(buffer), size);
 | 
						return m_fs.read(inode, readStart, readSize, reinterpret_cast<uint8_t*>(buffer), size);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					template<typename FileStore, typename Directory>
 | 
				
			||||||
 | 
					Error FileSystemTemplate<FileStore, Directory>::removePath(StringViewCR path, bool recursive) noexcept {
 | 
				
			||||||
 | 
						OX_REQUIRE(fd, fileSystemData());
 | 
				
			||||||
 | 
						Directory rootDir(m_fs, fd.rootDirInode);
 | 
				
			||||||
 | 
						OX_REQUIRE(inode, rootDir.find(path));
 | 
				
			||||||
 | 
						OX_REQUIRE(st, statInode(inode));
 | 
				
			||||||
 | 
						if (st.fileType == FileType::NormalFile || recursive) {
 | 
				
			||||||
 | 
							if (auto err = rootDir.remove(path)) {
 | 
				
			||||||
 | 
								// removal failed, try putting the index back
 | 
				
			||||||
 | 
								oxLogError(rootDir.write(path, inode));
 | 
				
			||||||
 | 
								return err;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							oxTrace("FileSystemTemplate.remove.fail", "Tried to remove directory without recursive setting.");
 | 
				
			||||||
 | 
							return ox::Error(1);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ox::Error(0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template<typename FileStore, typename Directory>
 | 
					template<typename FileStore, typename Directory>
 | 
				
			||||||
Result<const char*> FileSystemTemplate<FileStore, Directory>::directAccessInode(uint64_t inode) const noexcept {
 | 
					Result<const char*> FileSystemTemplate<FileStore, Directory>::directAccessInode(uint64_t inode) const noexcept {
 | 
				
			||||||
	auto data = m_fs.read(inode);
 | 
						auto data = m_fs.read(inode);
 | 
				
			||||||
@@ -384,25 +405,6 @@ Error FileSystemTemplate<FileStore, Directory>::ls(StringViewCR path, F cb) cons
 | 
				
			|||||||
	return dir.ls(cb);
 | 
						return dir.ls(cb);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template<typename FileStore, typename Directory>
 | 
					 | 
				
			||||||
Error FileSystemTemplate<FileStore, Directory>::remove(StringViewCR path, bool recursive) noexcept {
 | 
					 | 
				
			||||||
	OX_REQUIRE(fd, fileSystemData());
 | 
					 | 
				
			||||||
	Directory rootDir(m_fs, fd.rootDirInode);
 | 
					 | 
				
			||||||
	OX_REQUIRE(inode, rootDir.find(path));
 | 
					 | 
				
			||||||
	OX_REQUIRE(st, statInode(inode));
 | 
					 | 
				
			||||||
	if (st.fileType == FileType::NormalFile || recursive) {
 | 
					 | 
				
			||||||
		if (auto err = rootDir.remove(path)) {
 | 
					 | 
				
			||||||
			// removal failed, try putting the index back
 | 
					 | 
				
			||||||
			oxLogError(rootDir.write(path, inode));
 | 
					 | 
				
			||||||
			return err;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		oxTrace("FileSystemTemplate.remove.fail", "Tried to remove directory without recursive setting.");
 | 
					 | 
				
			||||||
		return ox::Error(1);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ox::Error(0);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
template<typename FileStore, typename Directory>
 | 
					template<typename FileStore, typename Directory>
 | 
				
			||||||
Error FileSystemTemplate<FileStore, Directory>::resize() noexcept {
 | 
					Error FileSystemTemplate<FileStore, Directory>::resize() noexcept {
 | 
				
			||||||
	return m_fs.resize();
 | 
						return m_fs.resize();
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								deps/ox/src/ox/fs/filesystem/passthroughfs.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								deps/ox/src/ox/fs/filesystem/passthroughfs.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -75,14 +75,6 @@ Result<Vector<String>> PassThroughFS::ls(StringViewCR dir) const noexcept {
 | 
				
			|||||||
	return out;
 | 
						return out;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Error PassThroughFS::remove(StringViewCR path, bool recursive) noexcept {
 | 
					 | 
				
			||||||
	if (recursive) {
 | 
					 | 
				
			||||||
		return ox::Error(std::filesystem::remove_all(m_path / stripSlash(path)) != 0);
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		return ox::Error(std::filesystem::remove(m_path / stripSlash(path)) != 0);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Error PassThroughFS::resize(uint64_t, void*) noexcept {
 | 
					Error PassThroughFS::resize(uint64_t, void*) noexcept {
 | 
				
			||||||
	// unsupported
 | 
						// unsupported
 | 
				
			||||||
	return ox::Error(1, "resize is not supported by PassThroughFS");
 | 
						return ox::Error(1, "resize is not supported by PassThroughFS");
 | 
				
			||||||
@@ -167,6 +159,14 @@ Error PassThroughFS::readFileInodeRange(uint64_t, std::size_t, std::size_t, void
 | 
				
			|||||||
	return ox::Error(1, "read(uint64_t, std::size_t, std::size_t, void*, std::size_t*) is not supported by PassThroughFS");
 | 
						return ox::Error(1, "read(uint64_t, std::size_t, std::size_t, void*, std::size_t*) is not supported by PassThroughFS");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Error PassThroughFS::removePath(StringViewCR path, bool const recursive) noexcept {
 | 
				
			||||||
 | 
						if (recursive) {
 | 
				
			||||||
 | 
							return ox::Error{std::filesystem::remove_all(m_path / stripSlash(path)) == 0};
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return ox::Error{!std::filesystem::remove(m_path / stripSlash(path))};
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Error PassThroughFS::writeFilePath(StringViewCR path, const void *buffer, uint64_t size, FileType) noexcept {
 | 
					Error PassThroughFS::writeFilePath(StringViewCR path, const void *buffer, uint64_t size, FileType) noexcept {
 | 
				
			||||||
	const auto p = (m_path / stripSlash(path));
 | 
						const auto p = (m_path / stripSlash(path));
 | 
				
			||||||
	try {
 | 
						try {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -45,8 +45,6 @@ class PassThroughFS: public FileSystem {
 | 
				
			|||||||
		template<typename F>
 | 
							template<typename F>
 | 
				
			||||||
		Error ls(StringViewCR dir, F cb) const noexcept;
 | 
							Error ls(StringViewCR dir, F cb) const noexcept;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Error remove(StringViewCR path, bool recursive) noexcept override;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Error resize(uint64_t size, void *buffer) noexcept override;
 | 
							Error resize(uint64_t size, void *buffer) noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Result<FileStat> statInode(uint64_t inode) const noexcept override;
 | 
							Result<FileStat> statInode(uint64_t inode) const noexcept override;
 | 
				
			||||||
@@ -75,6 +73,8 @@ class PassThroughFS: public FileSystem {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		Error readFileInodeRange(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) noexcept override;
 | 
							Error readFileInodeRange(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Error removePath(StringViewCR path, bool recursive) noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Error writeFilePath(StringViewCR path, const void *buffer, uint64_t size, FileType fileType) noexcept override;
 | 
							Error writeFilePath(StringViewCR path, const void *buffer, uint64_t size, FileType fileType) noexcept override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Error writeFileInode(uint64_t inode, const void *buffer, uint64_t size, FileType fileType) noexcept override;
 | 
							Error writeFileInode(uint64_t inode, const void *buffer, uint64_t size, FileType fileType) noexcept override;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/filesystem/types.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/filesystem/types.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/fs.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/fs.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/ptrarith/nodebuffer.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/ptrarith/nodebuffer.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/ptrarith/ptr.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/ptrarith/ptr.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/fs/tool.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/fs/tool.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/logconn/circularbuff.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/logconn/circularbuff.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								deps/ox/src/ox/logconn/def.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								deps/ox/src/ox/logconn/def.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -14,7 +14,7 @@
 | 
				
			|||||||
    { \
 | 
					    { \
 | 
				
			||||||
		const auto loggerErr = (loggerName).initConn(appName); \
 | 
							const auto loggerErr = (loggerName).initConn(appName); \
 | 
				
			||||||
		if (loggerErr) { \
 | 
							if (loggerErr) { \
 | 
				
			||||||
			oxErrf("Could not connect to logger: {} ({}:{})\n", toStr(loggerErr), loggerErr.file, loggerErr.line); \
 | 
								oxErrf("Could not connect to logger: {} ({}:{})\n", toStr(loggerErr), loggerErr.src.file_name(), loggerErr.src.line()); \
 | 
				
			||||||
		} else { \
 | 
							} else { \
 | 
				
			||||||
			ox::trace::setLogger(&(loggerName)); \
 | 
								ox::trace::setLogger(&(loggerName)); \
 | 
				
			||||||
		} \
 | 
							} \
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/logconn/logconn.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/logconn/logconn.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/logconn/logconn.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/logconn/logconn.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/err.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/err.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/intops.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/intops.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/mc.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/mc.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/presenceindicator.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/presenceindicator.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/presenceindicator.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/presenceindicator.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/read.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/read.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/read.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/read.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/types.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/types.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/write.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/write.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/mc/write.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/mc/write.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/def.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/def.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/descread.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/descread.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/desctypes.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/desctypes.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/desctypes.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/desctypes.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/descwrite.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/descwrite.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/descwrite.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/descwrite.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/fieldcounter.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/fieldcounter.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/metadata.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/metadata.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/model.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/model.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/modelhandleradaptor.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/modelhandleradaptor.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/modelops.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/modelops.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/modelvalue.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/modelvalue.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/modelvalue.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/modelvalue.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/optype.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/optype.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								deps/ox/src/ox/model/typenamecatcher.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								deps/ox/src/ox/model/typenamecatcher.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -140,16 +140,16 @@ constexpr Str getModelTypeName() noexcept {
 | 
				
			|||||||
	return out;
 | 
						return out;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template<typename T>
 | 
					template<typename T, typename Str = const char*>
 | 
				
			||||||
[[nodiscard]]
 | 
					[[nodiscard]]
 | 
				
			||||||
consteval auto requireModelTypeName() noexcept {
 | 
					consteval auto requireModelTypeName() noexcept {
 | 
				
			||||||
	constexpr auto name = getModelTypeName<T>();
 | 
						constexpr auto name = getModelTypeName<T, Str>();
 | 
				
			||||||
	static_assert(ox::StringView{name}.len(), "Type lacks required TypeName");
 | 
						static_assert(ox::StringView{name}.len(), "Type lacks required TypeName");
 | 
				
			||||||
	return name;
 | 
						return name;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template<typename T, typename Str = const char*>
 | 
					template<typename T, typename Str = const char*>
 | 
				
			||||||
constexpr auto ModelTypeName_v = getModelTypeName<T, Str>();
 | 
					constexpr auto ModelTypeName_v = requireModelTypeName<T, Str>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template<typename T, typename Str = const char*>
 | 
					template<typename T, typename Str = const char*>
 | 
				
			||||||
constexpr auto ModelTypeVersion_v = requireModelTypeVersion<T>();
 | 
					constexpr auto ModelTypeVersion_v = requireModelTypeVersion<T>();
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/types.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/types.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/typestore.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/typestore.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/model/walk.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/model/walk.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/oc/oc.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/oc/oc.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/oc/read.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/oc/read.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/oc/read.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/oc/read.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/oc/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/oc/test/tests.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/oc/write.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/oc/write.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/oc/write.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/oc/write.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/preloader/platspecs.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/preloader/platspecs.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/preloader/preloader.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/preloader/preloader.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/preloader/preloader.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/preloader/preloader.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/preloader/sizecatcher.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/preloader/sizecatcher.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								deps/ox/src/ox/std/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								deps/ox/src/ox/std/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							@@ -109,6 +109,7 @@ install(
 | 
				
			|||||||
		error.hpp
 | 
							error.hpp
 | 
				
			||||||
		fmt.hpp
 | 
							fmt.hpp
 | 
				
			||||||
		hardware.hpp
 | 
							hardware.hpp
 | 
				
			||||||
 | 
							hash.hpp
 | 
				
			||||||
		hashmap.hpp
 | 
							hashmap.hpp
 | 
				
			||||||
		heapmgr.hpp
 | 
							heapmgr.hpp
 | 
				
			||||||
		ignore.hpp
 | 
							ignore.hpp
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								deps/ox/src/ox/std/algorithm.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								deps/ox/src/ox/std/algorithm.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -9,13 +9,25 @@
 | 
				
			|||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "def.hpp"
 | 
					#include "def.hpp"
 | 
				
			||||||
 | 
					#include "error.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OX_CLANG_NOWARN_BEGIN(-Wunsafe-buffer-usage)
 | 
					OX_CLANG_NOWARN_BEGIN(-Wunsafe-buffer-usage)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace ox {
 | 
					namespace ox {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template<typename It, typename T>
 | 
					template<typename It, typename T>
 | 
				
			||||||
constexpr It find(It begin, It end, const T &value) {
 | 
					constexpr ox::Result<size_t> findIdx(It begin, It end, T const&value) {
 | 
				
			||||||
 | 
						auto it = begin;
 | 
				
			||||||
 | 
						for (; it != end; ++it) {
 | 
				
			||||||
 | 
							if (*it == value) {
 | 
				
			||||||
 | 
								return it.offset();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ox::Error{1, "item not found"};
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					template<typename It, typename T>
 | 
				
			||||||
 | 
					constexpr It find(It begin, It end, T const&value) {
 | 
				
			||||||
	for (; begin != end; ++begin) {
 | 
						for (; begin != end; ++begin) {
 | 
				
			||||||
		if (*begin == value) {
 | 
							if (*begin == value) {
 | 
				
			||||||
			return begin;
 | 
								return begin;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										93
									
								
								deps/ox/src/ox/std/anyptr.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										93
									
								
								deps/ox/src/ox/std/anyptr.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -15,18 +15,22 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace ox {
 | 
					namespace ox {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AnyPtr {
 | 
					namespace detail {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					template<bool unique>
 | 
				
			||||||
 | 
					class AnyPtrT {
 | 
				
			||||||
	private:
 | 
						private:
 | 
				
			||||||
		struct WrapBase {
 | 
							struct WrapBase {
 | 
				
			||||||
			virtual constexpr ~WrapBase() = default;
 | 
								virtual constexpr ~WrapBase() = default;
 | 
				
			||||||
			virtual constexpr WrapBase *copyTo(ox::Span<char> s) noexcept = 0;
 | 
								virtual constexpr WrapBase *copyTo(ox::Span<char> s) noexcept = 0;
 | 
				
			||||||
			virtual constexpr operator bool() const noexcept = 0;
 | 
								virtual constexpr operator bool() const noexcept = 0;
 | 
				
			||||||
 | 
								virtual void free() noexcept = 0;
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		template<typename T>
 | 
							template<typename T>
 | 
				
			||||||
		struct Wrap: public WrapBase {
 | 
							struct Wrap final: WrapBase {
 | 
				
			||||||
			T *data{};
 | 
								T *data{};
 | 
				
			||||||
			constexpr Wrap(T *pData) noexcept: data(pData) {
 | 
								explicit constexpr Wrap(T *pData) noexcept: data(pData) {
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			constexpr WrapBase *copyTo(ox::Span<char> s) noexcept override {
 | 
								constexpr WrapBase *copyTo(ox::Span<char> s) noexcept override {
 | 
				
			||||||
				oxAssert(s.size() >= sizeof(Wrap), "too small buffer");
 | 
									oxAssert(s.size() >= sizeof(Wrap), "too small buffer");
 | 
				
			||||||
@@ -39,39 +43,60 @@ class AnyPtr {
 | 
				
			|||||||
			constexpr operator bool() const noexcept override {
 | 
								constexpr operator bool() const noexcept override {
 | 
				
			||||||
				return data != nullptr;
 | 
									return data != nullptr;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
								constexpr void free() noexcept override {
 | 
				
			||||||
 | 
									safeDelete(data);
 | 
				
			||||||
 | 
									data = {};
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		WrapBase *m_wrapPtr{};
 | 
							WrapBase *m_wrapPtr{};
 | 
				
			||||||
		ox::Array<char, sizeof(Wrap<void*>)> m_wrapData;
 | 
							ox::Array<char, sizeof(Wrap<void*>)> m_wrapData;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public:
 | 
						public:
 | 
				
			||||||
		constexpr AnyPtr() noexcept = default;
 | 
							constexpr AnyPtrT() noexcept = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		template<typename T>
 | 
							template<typename T>
 | 
				
			||||||
		constexpr AnyPtr(T *ptr) noexcept {
 | 
							constexpr AnyPtrT(T *ptr) noexcept {
 | 
				
			||||||
			if (std::is_constant_evaluated()) {
 | 
								if (std::is_constant_evaluated()) {
 | 
				
			||||||
				m_wrapPtr = new Wrap(ptr);
 | 
									m_wrapPtr = new Wrap<T>(ptr);
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				m_wrapPtr = new(m_wrapData.data()) Wrap(ptr);
 | 
									m_wrapPtr = new(m_wrapData.data()) Wrap<T>(ptr);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		constexpr AnyPtr(AnyPtr const&other) noexcept {
 | 
							constexpr AnyPtrT(AnyPtrT const&other) noexcept {
 | 
				
			||||||
			if (other) {
 | 
								if (other) {
 | 
				
			||||||
				m_wrapPtr = other.m_wrapPtr->copyTo(m_wrapData);
 | 
									m_wrapPtr = other.m_wrapPtr->copyTo(m_wrapData);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		constexpr ~AnyPtr() noexcept {
 | 
							constexpr AnyPtrT(AnyPtrT &&other) noexcept {
 | 
				
			||||||
 | 
								if (other) {
 | 
				
			||||||
 | 
									m_wrapPtr = other.m_wrapPtr->copyTo(m_wrapData);
 | 
				
			||||||
 | 
									if (std::is_constant_evaluated()) {
 | 
				
			||||||
 | 
										ox::safeDelete(m_wrapPtr);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									other.m_wrapPtr = {};
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							constexpr ~AnyPtrT() noexcept {
 | 
				
			||||||
 | 
								if constexpr(unique) {
 | 
				
			||||||
 | 
									free();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			if (std::is_constant_evaluated()) {
 | 
								if (std::is_constant_evaluated()) {
 | 
				
			||||||
				ox::safeDelete(m_wrapPtr);
 | 
									ox::safeDelete(m_wrapPtr);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		template<typename T>
 | 
							template<typename T>
 | 
				
			||||||
		constexpr AnyPtr &operator=(T *ptr) noexcept {
 | 
							constexpr AnyPtrT &operator=(T *ptr) noexcept {
 | 
				
			||||||
			if (std::is_constant_evaluated()) {
 | 
								if constexpr(unique) {
 | 
				
			||||||
 | 
									free();
 | 
				
			||||||
 | 
								} else if (std::is_constant_evaluated()) {
 | 
				
			||||||
				ox::safeDelete(m_wrapPtr);
 | 
									ox::safeDelete(m_wrapPtr);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (std::is_constant_evaluated()) {
 | 
				
			||||||
				m_wrapPtr = new Wrap(ptr);
 | 
									m_wrapPtr = new Wrap(ptr);
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				m_wrapPtr = new(m_wrapData.data()) Wrap(ptr);
 | 
									m_wrapPtr = new(m_wrapData.data()) Wrap(ptr);
 | 
				
			||||||
@@ -79,10 +104,14 @@ class AnyPtr {
 | 
				
			|||||||
			return *this;
 | 
								return *this;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		constexpr AnyPtr &operator=(AnyPtr const&ptr) noexcept {
 | 
							constexpr AnyPtrT &operator=(AnyPtrT const&ptr) noexcept {
 | 
				
			||||||
			if (this != &ptr) {
 | 
								if (this != &ptr) {
 | 
				
			||||||
				if (ptr) {
 | 
									if constexpr(unique) {
 | 
				
			||||||
 | 
										free();
 | 
				
			||||||
 | 
									} else if (std::is_constant_evaluated()) {
 | 
				
			||||||
					ox::safeDelete(m_wrapPtr);
 | 
										ox::safeDelete(m_wrapPtr);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									if (ptr) {
 | 
				
			||||||
					m_wrapPtr = ptr.m_wrapPtr->copyTo(m_wrapData);
 | 
										m_wrapPtr = ptr.m_wrapPtr->copyTo(m_wrapData);
 | 
				
			||||||
				} else {
 | 
									} else {
 | 
				
			||||||
					m_wrapPtr = nullptr;
 | 
										m_wrapPtr = nullptr;
 | 
				
			||||||
@@ -91,10 +120,40 @@ class AnyPtr {
 | 
				
			|||||||
			return *this;
 | 
								return *this;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							constexpr AnyPtrT &operator=(AnyPtrT &&ptr) noexcept {
 | 
				
			||||||
 | 
								if (this != &ptr) {
 | 
				
			||||||
 | 
									if constexpr(unique) {
 | 
				
			||||||
 | 
										free();
 | 
				
			||||||
 | 
									} else if (std::is_constant_evaluated()) {
 | 
				
			||||||
 | 
										ox::safeDelete(m_wrapPtr);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									if (ptr) {
 | 
				
			||||||
 | 
										m_wrapPtr = ptr.m_wrapPtr->copyTo(m_wrapData);
 | 
				
			||||||
 | 
										if (std::is_constant_evaluated()) {
 | 
				
			||||||
 | 
											ox::safeDelete(ptr.m_wrapPtr);
 | 
				
			||||||
 | 
											ptr.m_wrapPtr = nullptr;
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										m_wrapPtr = nullptr;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								return *this;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		constexpr operator bool() const noexcept {
 | 
							constexpr operator bool() const noexcept {
 | 
				
			||||||
			return m_wrapPtr && *m_wrapPtr;
 | 
								return m_wrapPtr && *m_wrapPtr;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							constexpr void free() noexcept {
 | 
				
			||||||
 | 
								if (m_wrapPtr) {
 | 
				
			||||||
 | 
									m_wrapPtr->free();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (std::is_constant_evaluated()) {
 | 
				
			||||||
 | 
									ox::safeDelete(m_wrapPtr);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								m_wrapPtr = nullptr;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		template<typename T>
 | 
							template<typename T>
 | 
				
			||||||
		[[nodiscard]]
 | 
							[[nodiscard]]
 | 
				
			||||||
		constexpr T *get() const noexcept {
 | 
							constexpr T *get() const noexcept {
 | 
				
			||||||
@@ -104,6 +163,12 @@ class AnyPtr {
 | 
				
			|||||||
			return dynamic_cast<Wrap<T>*>(m_wrapPtr)->data;
 | 
								return dynamic_cast<Wrap<T>*>(m_wrapPtr)->data;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using AnyPtr = detail::AnyPtrT<false>;
 | 
				
			||||||
 | 
					using UAnyPtr = detail::AnyPtrT<true>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/array.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/array.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								deps/ox/src/ox/std/assert.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								deps/ox/src/ox/std/assert.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -7,6 +7,7 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "fmt.hpp"
 | 
					#include "fmt.hpp"
 | 
				
			||||||
 | 
					#include "realstd.hpp"
 | 
				
			||||||
#include "stacktrace.hpp"
 | 
					#include "stacktrace.hpp"
 | 
				
			||||||
#include "trace.hpp"
 | 
					#include "trace.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -14,14 +15,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace ox {
 | 
					namespace ox {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void panic(StringViewCR file, int line, StringViewCR panicMsg, const Error &err) noexcept {
 | 
					void panic(StringViewCR file, int const line, StringViewCR panicMsg, Error const&err) noexcept {
 | 
				
			||||||
	oxErrf("\033[31;1;1mPANIC:\033[0m [{}:{}]: {}\n", file, line, panicMsg);
 | 
						oxErrf("\033[31;1;1mPANIC:\033[0m [{}:{}]: {}\n", file, line, panicMsg);
 | 
				
			||||||
	if (err.msg) {
 | 
						if (err.msg) {
 | 
				
			||||||
		oxErrf("\tError Message:\t{}\n", err.msg);
 | 
							oxErrf("\tError Message:\t{}\n", err.msg);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	oxErrf("\tError Code:\t{}\n", static_cast<ErrorCode>(err));
 | 
						oxErrf("\tError Code:\t{}\n", static_cast<ErrorCode>(err));
 | 
				
			||||||
	if (err.file != nullptr) {
 | 
						if (err.src.file_name() != nullptr) {
 | 
				
			||||||
		oxErrf("\tError Location:\t{}:{}\n", err.file, err.line);
 | 
							oxErrf("\tError Location:\t{}:{}\n", err.src.file_name(), err.src.line());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#ifdef OX_USE_STDLIB
 | 
					#ifdef OX_USE_STDLIB
 | 
				
			||||||
	printStackTrace(2);
 | 
						printStackTrace(2);
 | 
				
			||||||
@@ -32,16 +33,19 @@ void panic(StringViewCR file, int line, StringViewCR panicMsg, const Error &err)
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void panic(const char *file, int line, const char *panicMsg, const Error &err) noexcept {
 | 
					void panic(const char *file, int const line, char const*panicMsg, Error const&err) noexcept {
 | 
				
			||||||
	panic(StringView{file}, line, StringView{panicMsg}, err);
 | 
						panic(StringView{file}, line, StringView{panicMsg}, err);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void assertFailFuncRuntime(StringViewCR file, int line, StringViewCR assertTxt, StringViewCR msg) noexcept {
 | 
					void assertFailFuncRuntime(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int const line,
 | 
				
			||||||
 | 
						StringViewCR assertTxt,
 | 
				
			||||||
 | 
						StringViewCR msg) noexcept {
 | 
				
			||||||
#ifdef OX_USE_STDLIB
 | 
					#ifdef OX_USE_STDLIB
 | 
				
			||||||
	auto output = sfmt("\n\033[31;1;1mASSERT FAILURE:\033[0m [{}:{}]: {}\n", file, line, msg);
 | 
						auto const st = genStackTrace(2);
 | 
				
			||||||
	output += genStackTrace(2);
 | 
						oxTracef("assert", "Failed assert: {} ({}) [{}:{}]:\n{}", msg, assertTxt, file, line, st);
 | 
				
			||||||
	oxTracef("assert", "Failed assert: {} ({}) [{}:{}]", msg, assertTxt, file, line);
 | 
						abort();
 | 
				
			||||||
	std::abort();
 | 
					 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	oxErrf("\n\033[31;1;1mASSERT FAILURE:\033[0m [{}:{}]: {}\n", file, line, msg);
 | 
						oxErrf("\n\033[31;1;1mASSERT FAILURE:\033[0m [{}:{}]: {}\n", file, line, msg);
 | 
				
			||||||
	oxTracef("assert", "Failed assert: {} ({}) [{}:{}]", msg, assertTxt, file, line);
 | 
						oxTracef("assert", "Failed assert: {} ({}) [{}:{}]", msg, assertTxt, file, line);
 | 
				
			||||||
@@ -49,20 +53,25 @@ void assertFailFuncRuntime(StringViewCR file, int line, StringViewCR assertTxt,
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void assertFailFuncRuntime(StringViewCR file, int line, [[maybe_unused]] const Error &err, StringViewCR, StringViewCR assertMsg) noexcept {
 | 
					void assertFailFuncRuntime(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int const line,
 | 
				
			||||||
 | 
						[[maybe_unused]] Error const&err,
 | 
				
			||||||
 | 
						StringViewCR,
 | 
				
			||||||
 | 
						StringViewCR assertMsg) noexcept {
 | 
				
			||||||
#if defined(OX_USE_STDLIB)
 | 
					#if defined(OX_USE_STDLIB)
 | 
				
			||||||
	auto msg = sfmt("\n\033[31;1;1mASSERT FAILURE:\033[0m [{}:{}]: {}\n", file, line, assertMsg);
 | 
						auto msg = sfmt("\n\033[31;1;1mASSERT FAILURE:\033[0m [{}:{}]: {}\n", file, line, assertMsg);
 | 
				
			||||||
	if (err.msg) {
 | 
						if (err.msg) {
 | 
				
			||||||
		msg += sfmt("\tError Message:\t{}\n", err.msg);
 | 
							msg += sfmt("\tError Message:\t{}\n", err.msg);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	msg += sfmt("\tError Code:\t{}\n", static_cast<ErrorCode>(err));
 | 
						msg += sfmt("\tError Code:\t{}\n", static_cast<ErrorCode>(err));
 | 
				
			||||||
	if (err.file != nullptr) {
 | 
						if (err.src.file_name() != nullptr) {
 | 
				
			||||||
		msg += sfmt("\tError Location:\t{}:{}\n", err.file, err.line);
 | 
							msg += sfmt("\tError Location:\t{}:{}\n", err.src.file_name(), err.src.line());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	msg += genStackTrace(2);
 | 
						msg += genStackTrace(2);
 | 
				
			||||||
	oxErr(msg);
 | 
						oxErr(msg);
 | 
				
			||||||
	oxTracef("assert", "Failed assert: {} [{}:{}]", assertMsg, file, line);
 | 
						oxTracef("assert", "Failed assert: {} [{}:{}]", assertMsg, file, line);
 | 
				
			||||||
	std::abort();
 | 
						abort();
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	constexprPanic(file, line, assertMsg);
 | 
						constexprPanic(file, line, assertMsg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								deps/ox/src/ox/std/assert.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								deps/ox/src/ox/std/assert.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
@@ -22,9 +22,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace ox {
 | 
					namespace ox {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void panic(StringViewCR file, int line, StringViewCR panicMsg, const Error &err = ox::Error(0)) noexcept;
 | 
					[[noreturn]]
 | 
				
			||||||
 | 
					void panic(StringViewCR file, int line, StringViewCR panicMsg, Error const&err = {}) noexcept;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
constexpr void constexprPanic(StringViewCR file, int line, StringViewCR panicMsg, const Error &err = ox::Error(0)) noexcept {
 | 
					[[noreturn]]
 | 
				
			||||||
 | 
					constexpr void constexprPanic(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int const line,
 | 
				
			||||||
 | 
						StringViewCR panicMsg,
 | 
				
			||||||
 | 
						Error const&err = {}) noexcept {
 | 
				
			||||||
	if (!std::is_constant_evaluated()) {
 | 
						if (!std::is_constant_evaluated()) {
 | 
				
			||||||
		panic(file, line, panicMsg, err);
 | 
							panic(file, line, panicMsg, err);
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
@@ -32,10 +38,24 @@ constexpr void constexprPanic(StringViewCR file, int line, StringViewCR panicMsg
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void assertFailFuncRuntime(StringViewCR file, int line, StringViewCR assertTxt, StringViewCR msg) noexcept;
 | 
					void assertFailFuncRuntime(
 | 
				
			||||||
void assertFailFuncRuntime(StringViewCR file, int line, const Error &err, StringViewCR, StringViewCR assertMsg) noexcept;
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int line,
 | 
				
			||||||
 | 
						StringViewCR assertTxt,
 | 
				
			||||||
 | 
						StringViewCR msg) noexcept;
 | 
				
			||||||
 | 
					void assertFailFuncRuntime(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int line,
 | 
				
			||||||
 | 
						Error const&err,
 | 
				
			||||||
 | 
						StringViewCR,
 | 
				
			||||||
 | 
						StringViewCR assertMsg) noexcept;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
constexpr void assertFunc(StringViewCR file, int line, bool pass, [[maybe_unused]]StringViewCR assertTxt, [[maybe_unused]]StringViewCR msg) noexcept {
 | 
					constexpr void assertFunc(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int const line,
 | 
				
			||||||
 | 
						bool const pass,
 | 
				
			||||||
 | 
						[[maybe_unused]]StringViewCR assertTxt,
 | 
				
			||||||
 | 
						[[maybe_unused]]StringViewCR msg) noexcept {
 | 
				
			||||||
	if (!pass) {
 | 
						if (!pass) {
 | 
				
			||||||
		if (!std::is_constant_evaluated()) {
 | 
							if (!std::is_constant_evaluated()) {
 | 
				
			||||||
			assertFailFuncRuntime(file, line, assertTxt, msg);
 | 
								assertFailFuncRuntime(file, line, assertTxt, msg);
 | 
				
			||||||
@@ -45,7 +65,12 @@ constexpr void assertFunc(StringViewCR file, int line, bool pass, [[maybe_unused
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
constexpr void assertFunc(StringViewCR file, int line, const Error &err, StringViewCR, StringViewCR assertMsg) noexcept {
 | 
					constexpr void assertFunc(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int const line,
 | 
				
			||||||
 | 
						Error const&err,
 | 
				
			||||||
 | 
						StringViewCR,
 | 
				
			||||||
 | 
						StringViewCR assertMsg) noexcept {
 | 
				
			||||||
	if (err) {
 | 
						if (err) {
 | 
				
			||||||
		if (!std::is_constant_evaluated()) {
 | 
							if (!std::is_constant_evaluated()) {
 | 
				
			||||||
			assertFailFuncRuntime(file, line, err, {}, assertMsg);
 | 
								assertFailFuncRuntime(file, line, err, {}, assertMsg);
 | 
				
			||||||
@@ -55,7 +80,11 @@ constexpr void assertFunc(StringViewCR file, int line, const Error &err, StringV
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
constexpr void expect(StringViewCR file, int line, const auto &actual, const auto &expected) noexcept {
 | 
					constexpr void expect(
 | 
				
			||||||
 | 
						StringViewCR file,
 | 
				
			||||||
 | 
						int const line,
 | 
				
			||||||
 | 
						auto const&actual,
 | 
				
			||||||
 | 
						auto const&expected) noexcept {
 | 
				
			||||||
	if (actual != expected) {
 | 
						if (actual != expected) {
 | 
				
			||||||
		 if (!std::is_constant_evaluated()) {
 | 
							 if (!std::is_constant_evaluated()) {
 | 
				
			||||||
#if defined(OX_USE_STDLIB)
 | 
					#if defined(OX_USE_STDLIB)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/basestringview.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/basestringview.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/bit.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/bit.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/bit.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/bit.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/bounds.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/bounds.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/buffer.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/buffer.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/buffer.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/buffer.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/buildinfo.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/buildinfo.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/buildinfo.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/buildinfo.hpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								deps/ox/src/ox/std/byteswap.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/ox/src/ox/std/byteswap.cpp
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2015 - 2024 gary@drinkingtea.net
 | 
					 * Copyright 2015 - 2025 gary@drinkingtea.net
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
				
			||||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user