Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Coverage
run: |
lcov --directory ./build --capture --output-file ./build/coverage_all.info
lcov --remove ./build/coverage_all.info -o ./build/coverage.info '/usr/include/*' "$PWD/tests/beman/utf_view/*" "$PWD/deps/*"
lcov --remove ./build/coverage_all.info -o ./build/coverage.info '/usr/include/*' "$PWD/tests/beman/utf_view/*" "$PWD/build/_deps/*"
- name: Coveralls
uses: coverallsapp/github-action@master
with:
Expand Down
9 changes: 0 additions & 9 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,12 +1,3 @@
[submodule "deps/stl_interfaces"]
path = deps/stl_interfaces
url = https://github.com/ednolan/stl_interfaces.git
[submodule "deps/assert"]
path = deps/assert
url = https://github.com/boostorg/assert.git
[submodule "deps/config"]
path = deps/config
url = https://github.com/boostorg/config.git
[submodule "deps/wg21"]
path = deps/wg21
url = https://github.com/mpark/wg21.git
22 changes: 9 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
cmake_minimum_required(VERSION 3.27)
project(beman.utf_view CXX)

include(FetchContent)

option(
UTF_VIEW_BUILD_TESTING
"Enable building tests and test infrastructure. Default: ON. Values: { ON, OFF }."
Expand All @@ -20,20 +22,14 @@ option(
OFF
)

if (NOT TARGET boost_config)
add_subdirectory(deps/config)
endif()

if (NOT TARGET boost_assert)
add_subdirectory(deps/assert)
endif()
FetchContent_Declare(
beman.iterator_interface
GIT_REPOSITORY https://github.com/beman-project/iterator_interface.git
GIT_TAG 94adc3ea613384dc9da64c9de1a7d9a21395ede7
EXCLUDE_FROM_ALL
)

if (NOT TARGET boost_stl_interfaces)
add_definitions(-DBOOST_STL_INTERFACES_ENABLE_DEDUCED_THIS)
add_subdirectory(deps/stl_interfaces)
else()
message(FATAL_ERROR "Conflicting dependency: boost_stl_interfaces already exists, but we need our own fork")
endif()
FetchContent_MakeAvailable(beman.iterator_interface)

add_subdirectory(src/beman/utf_view)

Expand Down
1 change: 0 additions & 1 deletion deps/assert
Submodule assert deleted from 242fdf
1 change: 0 additions & 1 deletion deps/config
Submodule config deleted from 5734e1
1 change: 0 additions & 1 deletion deps/stl_interfaces
Submodule stl_interfaces deleted from 93d922
14 changes: 7 additions & 7 deletions include/beman/utf_view/code_unit_view.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#define BEMAN_UTF_VIEW_CODE_UNIT_VIEW_HPP

#include <beman/utf_view/detail/concepts.hpp>
#include <boost/stl_interfaces/iterator_interface.hpp>
#include <beman/iterator_interface/iterator_interface.hpp>
#include <iterator>
#include <ranges>
#include <type_traits>
Expand Down Expand Up @@ -114,7 +114,7 @@ class as_char8_t_view : public std::ranges::view_interface<as_char8_t_view<V>> {
template <exposition_only_convertible_to_charN_t_view<char8_t> V>
template <bool Const>
class as_char8_t_view<V>::exposition_only_iterator
: public boost::stl_interfaces::iterator_interface<
: public beman::iterator_interface::iterator_interface<
exposition_only_iterator_to_tag_t<
std::ranges::iterator_t<exposition_only_maybe_const<Const, V>>>,
char8_t, char8_t, void, std::ptrdiff_t> {
Expand All @@ -125,7 +125,7 @@ class as_char8_t_view<V>::exposition_only_iterator
using exposition_only_iterator_type = std::ranges::iterator_t<
exposition_only_maybe_const<Const, V>>; // @*exposition only*@

friend boost::stl_interfaces::access;
friend beman::iterator_interface::iterator_interface_access;

constexpr exposition_only_iterator_type& base_reference() noexcept {
return it_;
Expand Down Expand Up @@ -277,7 +277,7 @@ class as_char16_t_view : public std::ranges::view_interface<as_char16_t_view<V>>
template <exposition_only_convertible_to_charN_t_view<char16_t> V>
template <bool Const>
class as_char16_t_view<V>::exposition_only_iterator
: public boost::stl_interfaces::iterator_interface<
: public beman::iterator_interface::iterator_interface<
exposition_only_iterator_to_tag_t<
std::ranges::iterator_t<exposition_only_maybe_const<Const, V>>>,
char16_t, char16_t, void, std::ptrdiff_t> {
Expand All @@ -288,7 +288,7 @@ class as_char16_t_view<V>::exposition_only_iterator
using exposition_only_iterator_type = std::ranges::iterator_t<
exposition_only_maybe_const<Const, V>>; // @*exposition only*@

friend boost::stl_interfaces::access;
friend beman::iterator_interface::iterator_interface_access;

constexpr exposition_only_iterator_type& base_reference() noexcept {
return it_;
Expand Down Expand Up @@ -440,7 +440,7 @@ class as_char32_t_view : public std::ranges::view_interface<as_char32_t_view<V>>
template <exposition_only_convertible_to_charN_t_view<char32_t> V>
template <bool Const>
class as_char32_t_view<V>::exposition_only_iterator
: public boost::stl_interfaces::iterator_interface<
: public beman::iterator_interface::iterator_interface<
exposition_only_iterator_to_tag_t<
std::ranges::iterator_t<exposition_only_maybe_const<Const, V>>>,
char32_t, char32_t, void, std::ptrdiff_t> {
Expand All @@ -451,7 +451,7 @@ class as_char32_t_view<V>::exposition_only_iterator
using exposition_only_iterator_type = std::ranges::iterator_t<
exposition_only_maybe_const<Const, V>>; // @*exposition only*@

friend boost::stl_interfaces::access;
friend beman::iterator_interface::iterator_interface_access;

constexpr exposition_only_iterator_type& base_reference() noexcept {
return it_;
Expand Down
2 changes: 1 addition & 1 deletion src/beman/utf_view/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ target_include_directories(
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${CMAKE_LOWER_PROJECT_NAME}> # <prefix>/include/beman/utf_view
)

target_link_libraries(beman_utf_view INTERFACE boost_stl_interfaces)
target_link_libraries(beman_utf_view INTERFACE beman::iterator_interface)

install(
TARGETS beman_utf_view
Expand Down
Loading